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

时间:2016-02-18 20:33:54

标签: javascript python selenium selenium-webdriver auto-populate

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

enter image description here

enter image description here

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

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

失败的原因

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

1 个答案:

答案 0 :(得分:1)

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

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

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,"点击"第一个结果的DOM元素假定您的用户输入返回您要查找的搜索结果。

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

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