跳过 Selenium 中缓慢加载的 ULR
Skip slow loading ULRs in Selenium
我开始学习 Selenium,但在某个时候卡住了,我必须说我不太确定如何解释我遇到的问题,但我会让它变得简单。
所以假设我们有 5 个不同的 URLs,我需要检查它们并查看它们是否使用以下方法正确重定向:
driver.get(*insert URL here*);
让我们给出以下 URLs:
- https://whosebug.com/
- https://github.com/
- https://duckduckgo.com/
- https://www.javatpoint.com/
- https://www.toolsqa.com/
我有一个循环通过 driver.get(*insert URL here*);
,我注意到第 4 个 URL 非常慢,它甚至不会移动到第 5 个 URL,我该如何跳过它,如果比方说,它达到了 15 秒?
这是我的 java 代码:
for(int i=0; i<mediasCAS.length; i++){
if(mediasCAS[i][4] != "?") {
driver.get(mediasCAS[i][4]);
}
else
continue;
System.out.println("Site Name : "+mediasCAS[i][1]);
}
mediasCAS 是一个包含网站信息的二维数组,其中第 4 列包含 URLs。
Selenium 允许使用方法 pageLoadTimeout()
。
来自 Javadoc:
Sets the amount of time to wait for a page load to complete before throwing an error.
If the timeout is negative, page loads can be indefinite.
将它与 try-catch
结合,您可以忽略异常并继续 for
循环,如下所示:
driver.manage().timeouts().pageLoadTimeout(15, TimeUnit.SECONDS);
for(int i=0; i<mediasCAS.length; i++){
try {
if(mediasCAS[i][4] != "?") {
driver.get(mediasCAS[i][4]);
}
else
continue;
System.out.println("Site Name : "+mediasCAS[i][1]);
} catch (Exception ignore) {
continue;
}
}
我开始学习 Selenium,但在某个时候卡住了,我必须说我不太确定如何解释我遇到的问题,但我会让它变得简单。 所以假设我们有 5 个不同的 URLs,我需要检查它们并查看它们是否使用以下方法正确重定向:
driver.get(*insert URL here*);
让我们给出以下 URLs:
- https://whosebug.com/
- https://github.com/
- https://duckduckgo.com/
- https://www.javatpoint.com/
- https://www.toolsqa.com/
我有一个循环通过 driver.get(*insert URL here*);
,我注意到第 4 个 URL 非常慢,它甚至不会移动到第 5 个 URL,我该如何跳过它,如果比方说,它达到了 15 秒?
这是我的 java 代码:
for(int i=0; i<mediasCAS.length; i++){
if(mediasCAS[i][4] != "?") {
driver.get(mediasCAS[i][4]);
}
else
continue;
System.out.println("Site Name : "+mediasCAS[i][1]);
}
mediasCAS 是一个包含网站信息的二维数组,其中第 4 列包含 URLs。
Selenium 允许使用方法 pageLoadTimeout()
。
来自 Javadoc:
Sets the amount of time to wait for a page load to complete before throwing an error. If the timeout is negative, page loads can be indefinite.
将它与 try-catch
结合,您可以忽略异常并继续 for
循环,如下所示:
driver.manage().timeouts().pageLoadTimeout(15, TimeUnit.SECONDS);
for(int i=0; i<mediasCAS.length; i++){
try {
if(mediasCAS[i][4] != "?") {
driver.get(mediasCAS[i][4]);
}
else
continue;
System.out.println("Site Name : "+mediasCAS[i][1]);
} catch (Exception ignore) {
continue;
}
}