我在类的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中。
有没有人碰过这个?想到任何解决方案,或者我做错了什么?