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

问题描述 投票:0回答:2

代码试验:

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

我尝试在代码中更改输入字段的名称仍然没有解决它

python selenium-webdriver xpath css-selectors webdriverwait
2个回答
0
投票

假设元素的相关 HTML 是:

<input name="voucher" ...>

要将字符序列发送到元素而不是presence_of_element_located(),您需要为element_to_be_clickable()引入WebDriverWait,您可以使用以下任一定位器策略 :

  • 使用NAME

    voucher_input = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.NAME, "voucher")))
    
  • 使用CSS_SELECTOR

    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
    

0
投票

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

voucher_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "voucher")))
voucher_input.send_keys("your text here")
© www.soinside.com 2019 - 2024. All rights reserved.