如何使用Selenium Python在输入字段中输入一些文本?

t2a7ltrp  于 2023-03-07  发布在  Python
关注(0)|答案(2)|浏览(198)

代码试验:

voucher_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located ((By.NAME, "voucher")))

我尝试在代码中更改输入字段的名称,但仍然无法修复

btqmn9zl

btqmn9zl1#

假设元素的相关HTML为:

<input name="voucher" ...>

要向元素发送 * 字符序列 * 而不是presence_of_element_located(),需要为element_to_be_clickable()引入WebDriverWait,可以使用以下locator strategies之一:

  • 使用 * 名称 *:
voucher_input = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.NAME, "voucher")))
  • 使用 * CSS选择器 *:
voucher_input = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='voucher']")))
  • 使用 * XPATH *:
voucher_input = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='voucher']")))
      • 注意**:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
qmb5sa22

qmb5sa222#

找到输入字段后,可以使用send_keys()方法向其中输入文本。

voucher_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "voucher")))
voucher_input.send_keys("your text here")

相关问题