我有一套WebDriver测试,可以在Chrome,Firefox和IE中完美运行。当我在Edge或Safari上尝试相同的代码时,我遇到了一个相同的问题:测试运行得太快,并尝试在页面完全加载之前单击事物。我玩过WebDriverWait,ExplicitWait等无济于事。
当我把睡眠放在不同的位置时,测试会慢下来以便它们起作用,但显然我不想这样做。任何人都知道减慢测试执行的简单方法 - 或者这两个浏览器是否存在常见问题?感谢。
答案 0 :(得分:0)
如果您尝试过WebDriverWait,ExplicitWait,并且您不想使用sleep,则可以尝试使用以下代码:
def waitForElement(driver, by, value):
elements = driver.find_elements(by, value)
i=0
while i < 1000 and len(elements)<1:
sleep(0.01)
i = i+1
if i == 1000:
print "can not find the element in 10 seconds"
return False
else:
print "find element in %d seconds" % i*0.01
return True