Time 硒中waitForPageToLoad的替代品

Time 硒中waitForPageToLoad的替代品,time,event-handling,selenium,Time,Event Handling,Selenium,我有一个页面上的链接,需要不同的时间加载系列。。。我想记录下每一次花费的时间。。。我遇到的问题是,如果超过waitForPageToLoad时间,则会导致测试失败,而我的其余链接不会得到测试。。。我知道我可以跳过测试中的可疑链接,或者设置超出预期的时间限制,但我希望有一种替代waitForPageToLoad的方法,可以用于在Selenium中加载页面时捕获,这样,如果页面加载时间超过一分钟,它就不会结束脚本 实现这一点的最佳方法是将超时时间设置为将来的某个数字,因为30秒是selenium的默

我有一个页面上的链接,需要不同的时间加载系列。。。我想记录下每一次花费的时间。。。我遇到的问题是,如果超过waitForPageToLoad时间,则会导致测试失败,而我的其余链接不会得到测试。。。我知道我可以跳过测试中的可疑链接,或者设置超出预期的时间限制,但我希望有一种替代waitForPageToLoad的方法,可以用于在Selenium中加载页面时捕获,这样,如果页面加载时间超过一分钟,它就不会结束脚本

实现这一点的最佳方法是将超时时间设置为将来的某个数字,因为30秒是selenium的默认超时时间

setTimout | 300

然后,如果您不想执行waitForPageToLoad,您可以在下一页对对象执行
waitForElementPresent
调用,因此听起来我可能需要导出到perl或java才能获得我正在寻找的功能。但是,侍者在场确实帮了大忙。谢谢:-)

类似于

    for (int second = 0; ; second++) {
        if (second >= 300) break;
        try {if (selenium.isElementPresent( mylink )) break;} 
        catch (Exception e) {}
        Thread.sleep(1000);
    }

以下是我将使用的:

int second = 0;
while(!selenium.IsElementPresent(mylink))
{
    if(second >= 300) 
        break;
    Thread.Sleep(1000);
}

您真的不需要\想要try-catch(exception)块,因为IsElementPresent不应该抛出异常。

Wawa的答案对我来说非常有用,我只需要将增量添加到第二个变量中

我也只想等5秒钟,所以我更改了中断标准

int second = 0;
while(!selenium.IsElementPresent(mylink))
{
    if(second >= 5) 
        break;
    Thread.Sleep(1000);
    second++;
}

waitForElementPresent让我接近了,但是如果需要5分钟,我还需要超时来结束链接的测试,我需要它来继续脚本并测试其余的链接等等。你总是需要在将来使用setTimeout值,如果你可以导出,那么它总是值得的。在Selenium Core/IDE中有一个setTimeout调用,该调用将把该测试用例的超时设置为一个值,如果在此之前出现了什么,那么它将继续执行