python - 使用 Selenium 清除html输入框

标签 python selenium selenium-webdriver

我正在尝试清除 indeed 上的输入,但 clear() 函数不起作用。关于如何清除输入框的任何想法?

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.indeed.com")
#this is not clearning the input
elem2 = driver.find_element_by_id("text-input-where").clear()

最佳答案

首先我想指出的是你正在使用

elem2 = driver.find_element_by_id("text-input-where").clear()

clear() – 清除任何文本类型元素的值。它不允许任何参数,它的返回类型是 void。所以 elem2 将为空。

其次,我们可以根据被测应用程序组合使用多种方法。

有时,如果未首先单击元素,driver.find_element_by_id("text-input-where").clear() 不起作用。所以我们可以这样做,

driver.find_element_by_id("text-input-where").click();
driver.find_element_by_id("text-input-where").clear();
driver.find_element_by_id("text-input-where").sendKeys(textContent);

或者我们也可以使用 Actions 类和 Webdriver 等待。

elem2 = WebDriverWait(browser, 60).until(EC.visibility_of_element_located((By.ID, 'text-input-where')))
webdriver.ActionChains(driver).move_to_element(elem2).click(elem2).perform()
elem2.clear();

或如本 answer 中所述, 我们可以模拟 CTRL + A 和 DEL 键。

driver.find_element_by_id("text-input-where").click();
driver.find_element_by_id("text-input-where").send_keys(Keys.CONTROL + "a");
driver.find_element_by_id("text-input-where").send_keys(Keys.DELETE);

关于python - 使用 Selenium 清除html输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561023/

相关文章:

php - Selenium 与 PHP firefox 浏览器问题

c# - 如何通过非null属性和ID查找元素?

ruby - 使用 watir-webdriver 获取音频控件的 src 值

java - 无法点击元素 - Selenium WebDriver

javascript - 如何嵌套这些引号?

python - 正则表达式匹配Python

python - 使用 Selenium 在 Firefox 上单击 Javascript 链接

python - 将 python 稀疏矩阵导入 MATLAB

python - pymysql插入查询中的Unicode值

java - Selenium - 在父级中搜索项目