clear() 不清除带有 selenium 和 python 以及 firefox 的文本框

新手上路,请多包涵

clear() 在这种情况下不起作用。我在追加之后追加。

searchForMovie.clear() 不工作……我也试过发送

CTRL + 'a' ,然后是 DELETE 。我得到的只是附加…

  for movie in allMissing:

            time.sleep (10)

            searchForMovie = WebDriverWait (driver, 10).until \
                (EC.presence_of_element_located ((By.CSS_SELECTOR, "#search-text")))

            searchForMovie.send_keys (movie)

            # click
            enter = WebDriverWait (driver, 10).until \
                (EC.presence_of_element_located ((By.CSS_SELECTOR, "#search-submit")))

            driver.execute_script ("arguments[0].click()", enter)

            # clear the search text box
            searchForMovie = WebDriverWait (driver, 10).until \
                (EC.presence_of_element_located ((By.CSS_SELECTOR, "#search-text")))

            searchForMovie.clear()

原文由 LetzerWille 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 659
2 个回答

To clear the textbox you need to induce WebDriverWait with expected_conditions set to element_to_be_clickable , next invoke click() on the WebElement and then invoke clear() as如下:

 # clear the search text box
searchForMovie = WebDriverWait (driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#search-text")))
searchForMovie.click()
searchForMovie.clear()

原文由 undetected Selenium 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果 .clear() 不起作用,您可以尝试:

 from selenium.webdriver.common.keys import Keys

#...your code (I was using python 3)

driver.find_element_by_id('foo').send_keys(Keys.CONTROL + "a");
driver.find_element_by_id('foo').send_keys(Keys.DELETE);

原文由 Jortega 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进