【发布时间】:2014-01-07 15:13:32
【问题描述】:
我一直在为我的网站使用 selenium 编写几个测试。但是,我还没有找到一种方法来测试由自动完成填充的输入文本字段。例如,我想选择自动完成列表下拉菜单中显示的位置之一。
这是我目前所拥有的:
driver.find_element_by_id("id_location_0").send_keys("Free City")
driver.find_element_by_id("ui-active-menuitem").click()
如何使用 Python 在 selenium 中实现自动完成/自动建议测试?
注意:Google 搜索是我正在尝试做的一个很好的例子。
【问题讨论】:
-
您是指网络浏览器的自动完成功能吗?你为什么要测试它?它不是你的应用程序的一部分,是吗?如果是关于一些 AJAX 调用,那么您需要等到菜单出现。
time.sleep(...)可能是你在 find_element_by_id 两条线之间的朋友。 -
这不是浏览器的自动完成功能。自动完成是应用程序的一部分。这些值是从数据库中获取的。
-
当从数据库中获取数据时,您肯定需要稍等片刻才能找到元素“ui-active-menuitem”。 Selenium 太快了,并且无法看到元素,因为它还没有从数据库中加载。试试 time.sleep(1),它应该会有所帮助。
标签: python django selenium autocomplete selenium-webdriver