Python Selenium尽管元素存在,但使用WebDriverWait和presence_of_element_located超时

时间:2016-07-06 03:03:54

标签: python selenium continuous-integration integration-testing selenium-firefoxdriver

我在类的setUp方法中运行了一个测试:

self.selenium.implicitly_wait(40)

并在具体测试中

element = WebDriverWait(self.selenium, 20).until(
    EC.presence_of_element_located((By.ID, "element_id"))
)

具有该ID的元素是<button>元素。

此时测试保持暂停。但我有一个预感元素实际存在,所以我补充说:

container = self.selenium.find_element_by_id('element_id_parent')
print container.get_attribute('innerHTML')

element = WebDriverWait(self.selenium, 20).until(
    EC.presence_of_element_located((By.ID, "element_id"))
)

果然,html打印输出显示标识为element_id的元素甚至> WebDriverWait之前的。所以它应该找到并继续吧?

有时测试通过。在当地环境中更频繁,几乎从不在CI中。

有没有人碰过这个?想到任何解决方案,或者我做错了什么?

0 个答案:

没有答案