gpt4 book ai didi

java - 如何在网页未完全加载时强制WebDriver执行命令?

转载 作者:行者123 更新时间:2023-12-01 14:10:55 26 4
gpt4 key购买 nike

网页从上到下加载。

1) <html ...
2) <head ...
3) <body ...
etc

我需要我的 WebDriver 显式等待 <title标签可见。然后阅读标题内容,并继续执行其他操作而无需等待整个页面加载!!!

WebDriver driver = new ChromeDriver();
driver.get("http://");
WebDriverWait wait = new WebDriverWait(driver, 0) // This line is probably the one to be transformed in order to correspond to my requirements
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//title")));
// The problem is that the following commands do not start off until the whole page is loaded
if(driver.getTitle().equals("whatever")) {
driver.get("http://");
}
else {
...
}

最佳答案

您可以使用pageLoadTimeout。将超时设置为0,然后捕获TimeoutException,然后执行特定的标题断言等。

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

更新

driver.manage().timeouts().pageLoadTimeout(0, TimeUnit.SECONDS);
WebDriverWait wait = new WebDriverWait(driver, 30);
try {
driver.get("http://");
} catch (TimeoutException e) {
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//title")));
}

了解更多info

理想情况下,您应该使用ExpectedConditions.titleIs()有关可用选项的更多信息,请参阅 here .

关于java - 如何在网页未完全加载时强制WebDriver执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537451/

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