打开浏览器后清除cookie

时间:2016-02-21 09:36:24

标签: python python-2.7 selenium selenium-webdriver

我有一个问题,大概有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")

2 个答案:

答案 0 :(得分:0)

预先选择输入中的所有文字,然后输入您的文字:

from selenium.webdriver.common.keys import Keys

depart_from = driver.find_element_by_id("departure-airport-input")
depart_from.send_keys(Keys.CONTROL, 'a')  # Keys.COMMAND on Mac
depart_from.send_keys("Leeds Bradford")

如果要在发送密钥之前检查输入的文本,请使用get_attribute()

initial_value = depart_from.get_attribute("value")
if initial_value == FROM:
   # do smth

答案 1 :(得分:0)

我在Java中知道它就是这样......可能它会给你一些线索吗?

driver.manage().deleteAllCookies();