Java 是否可以让fluentwait等待两种情况
在JavaSelenium框架中,FluentWait是否可以检查两种不同的预期条件?它可能是一个也可能是另一个 为了提供更多的上下文,我需要检查一个网站的标题,但根据具体情况,它可以重定向到两个网站中的一个(假设您未能登录并被发送到登录页面,但如果您确实登录,则会重定向到主页) 这种情况下,隐性等待会更好吗?因为网站加载速度似乎慢了很多次,我不得不不断增加等待时间 您可以操纵以形成合适的复杂条件。有很多方法可以满足您的需要。大概是这样的:Java 是否可以让fluentwait等待两种情况,java,selenium,Java,Selenium,在JavaSelenium框架中,FluentWait是否可以检查两种不同的预期条件?它可能是一个也可能是另一个 为了提供更多的上下文,我需要检查一个网站的标题,但根据具体情况,它可以重定向到两个网站中的一个(假设您未能登录并被发送到登录页面,但如果您确实登录,则会重定向到主页) 这种情况下,隐性等待会更好吗?因为网站加载速度似乎慢了很多次,我不得不不断增加等待时间 您可以操纵以形成合适的复杂条件。有很多方法可以满足您的需要。大概是这样的: WebDriverWait wait = new We
WebDriverWait wait = new WebDriverWait(driver, timeout);
wait.until(ExpectedConditions.or(
ExpectedConditions.urlContains("http://first.si.te/url"),
ExpectedConditions.urlContains("http://second.si.te/url")
));
您可以使用lambda表达式创建自己的等待条件。此示例等待标题以“abcd”开头或包含“1234”:
WebDriverWait wait = new WebDriverWait(driver, 20);
String page_title = wait.until((WebDriver wd)->{
String title = wd.getTitle();
return title.startsWith("abcd") || title.contains("1234") ? title : null;
});
System.out.println("Page title is: " + page_title);