如何输入在 Python Selenium 中自动填充的文本字段

How to input a text field which is autopopulating in Python Selenium

我在网站上有一个地址输入文本字段,基本上由 java 脚本自动填充。这不是一个下拉字段,您可以通过它 可以 select 一些值,你也不能输入你自己的文本字段。

我正在使用 selenium 执行一些测试,但我无法在该字段中输入一些文本值。以下选项不起作用,此时测试失败。我基本上想在字段中输入 328 West 91st Street 地址,但是 selenium 在这里失败了。

input_text(driver, locator, '328 West 91st Street')

失败原因

这看起来不像是常规的输入文本字段,因为 javascript 对象附加到它用于自动填充。 Selenium 无法识别这一点。你能告诉我任何解决方法吗?我的定位器是正确的

使用 Selenium,您想模拟普通用户的操作。

首先输入input,等待浏览器响应

browser = webdriver.Firefox()
input_box = b.find_element_by_name("address-search-box")
input_box.send_keys('328 West 91st Street')
time.sleep(3)

浏览器应发送请求以根据用户输入从服务器检索搜索结果。一旦这样做,浏览器应该呈现结果。

使用 Selenium,"click" 第一个结果的 DOM 元素假定您的用户输入 returns 您要查找的搜索结果。

browser.find_element_by_name("search-result-1").click()

输入现在应该包含有效结果。