【发布时间】:2016-06-02 17:59:23
【问题描述】:
我遇到了一个问题,大约 50% 的时间我运行我的 python selenium 脚本,仅在第一个文本框中,它已经在输入中显示了文本(我相信是因为 cookie)。这意味着当我使用.send_keys() 输入文本时,文本变为无效,因为我有两段文本,因此找不到目的地。
假设发生的是,在输入文本后,它的项目出现在下面的下拉列表中,然后脚本会选择该项目。但是如果文本不正确,那么显然列表中没有可供选择的项目。
我想在输入文本之前尝试使用.clear() 清除文本框,但下拉列表没有出现(这很奇怪)。
所以我的问题是,有没有办法确保每次打开浏览器并运行脚本时文本框始终为空?
以下是检索文本字段、清除它然后输入文本的小示例(该解决方法不起作用)。
depart_from = driver.find_element_by_id("departure-airport-input")
depart_from.clear()
depart_from.send_keys("Leeds Bradford")
【问题讨论】:
-
如果您的发送键没有填充下拉菜单,那么您的 onchange 事件可能没有触发..请同时提供触发下拉菜单的 DOM JAVASCRIPT 事件..
-
@sunderkandasamy 我更新了我的问题以包含 html 代码以及我用来尝试选择它的点击事件
-
也许考虑使用浏览器的键盘快捷键来实现您的目标?例如,在 Firefox 中,您可以发送“Ctrl+A”以突出显示所有文本,一旦您将注意力集中在文本框元素上,然后发送“Del”,然后输入您想要的文本。
-
找到与ui-autocomplete关联的JAVASCRIPT类,自己调用
标签: python python-2.7 selenium selenium-webdriver