Edge和Safari上的执行速度问题

时间:2017-03-30 16:54:34

标签: selenium-webdriver safari microsoft-edge browser-automation

我有一套WebDriver测试,可以在Chrome,Firefox和IE中完美运行。当我在Edge或Safari上尝试相同的代码时,我遇到了一个相同的问题:测试运行得太快,并尝试在页面完全加载之前单击事物。我玩过WebDriverWait,ExplicitWait等无济于事。

当我把睡眠放在不同的位置时,测试会慢下来以便它们起作用,但显然我不想这样做。任何人都知道减慢测试执行的简单方法 - 或者这两个浏览器是否存在常见问题?感谢。

1 个答案:

答案 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