Selenium.WaitForPageLoad("50000");
Selenium.Click("title");
大多数情况下,当它超过50000时,我会收到Timeout错误。我不想增加时间。有没有办法给它“像你想要的那样长时间”?
答案 0 :(得分:1)
您确定要花费多长时间吗?它可能会整天挂起......
我经常发现,如果运行需要很长时间,那么很久以前就已经失败了。
之前我使用过WatiN,您可以使用.WaitUntil()命令检查页面上的特定元素是否已加载。不确定Selenium中的等价物是什么。
如果您愿意创建加载项,此链接可能会有所帮助:
答案 1 :(得分:1)
我不推荐它,但是如果你想让selenium无限期地等待,请使用try-catch块和循环:
while (true)
{
try
{
Selenium.WaitForPageLoad("5000");
break; //executed if page finished loading
}
catch (Exception)
{
//ignore the timeout exception
}
}
再次这可能是一个坏主意,超时通常是一件好事。根据您的尝试,您可能需要考虑检查特定元素是否已完成加载而不是整个页面。
答案 2 :(得分:0)
您是否尝试颠倒这些命令的顺序?
Selenium.Click("title"); Selenium.WaitForPageToLoad("50000");
或者只是使用:
Selenium.ClickAndWait("title");
答案 3 :(得分:0)
这对我有用
/**
* Put the Thread to Sleep for the specific time
* @param delay
*/
private void sleep(long time) {
try {
Thread.sleep(time);
} catch (InterruptedException e) {
}
}
//Inside my Test Method
//check if the element is loaded
while (!webElement.isLoaded) {
//sleep for a sec
sleep(1000);
}