gpt4 book ai didi

java - 无法从 pageLoadTimeout 捕获 TimeOutException 并使用 selenium Java FireFox 驱动程序刷新页面

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:21 29 4
gpt4 key购买 nike

我在使用 Selenium Firefox 驱动程序时遇到问题,有时某种 Google 广告会卡住加载。我只需单击刷新按钮即可完成此操作,页面将完全加载,我可以读取所需的数据并移至下一页。如果我不手动单击刷新,它最终会以默认超时时间超时,但这需要几分钟。

这当然并不理想,我希望我能够自动处理这种情况。

我尝试手动更改超时时间并添加 Try Catch block ,如下所示

    FirefoxDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 30);
FixturesDataStore fixtures = new FixturesDataStore();
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);

for(int i = 0; i < fixtures.getHomeTeams().size(); i++)
{
try
{
driver.navigate().to(FORMURL.concat( (fixtures.getHomeTeams().get(i)).replace( ' ', '+' )));
}catch(WebDriverException e)
{
System.out.println("What a catch!!");
driver.navigate().refresh();
}

错误是:

Exception in thread "main" org.openqa.selenium.TimeoutException: Timeout loading page after 10000ms

它突出显示该行

driver.navigate().refresh();

导致错误。

最佳答案

结果几乎符合预期并符合规范。

此错误消息...

Exception in thread "main" org.openqa.selenium.TimeoutException: Timeout loading page after 10000ms

...是您配置为的 pageLoadTimeout() 的结果:

driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);

要详分割析异常原因,您始终可以捕获WebDriverException。您可以在 pageLoadTimeout in Selenium not working 中找到详细的讨论。

<小时/>

片尾

How to make selenium to reload the desired url if it takes too long loading

关于java - 无法从 pageLoadTimeout 捕获 TimeOutException 并使用 selenium Java FireFox 驱动程序刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57659931/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com