Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以让fluentwait等待两种情况_Java_Selenium - Fatal编程技术网

Java 是否可以让fluentwait等待两种情况

Java 是否可以让fluentwait等待两种情况,java,selenium,Java,Selenium,在JavaSelenium框架中,FluentWait是否可以检查两种不同的预期条件?它可能是一个也可能是另一个 为了提供更多的上下文,我需要检查一个网站的标题,但根据具体情况,它可以重定向到两个网站中的一个(假设您未能登录并被发送到登录页面,但如果您确实登录,则会重定向到主页) 这种情况下,隐性等待会更好吗?因为网站加载速度似乎慢了很多次,我不得不不断增加等待时间 您可以操纵以形成合适的复杂条件。有很多方法可以满足您的需要。大概是这样的: WebDriverWait wait = new We

在JavaSelenium框架中,FluentWait是否可以检查两种不同的预期条件?它可能是一个也可能是另一个

为了提供更多的上下文,我需要检查一个网站的标题,但根据具体情况,它可以重定向到两个网站中的一个(假设您未能登录并被发送到登录页面,但如果您确实登录,则会重定向到主页)

这种情况下,隐性等待会更好吗?因为网站加载速度似乎慢了很多次,我不得不不断增加等待时间

您可以操纵以形成合适的复杂条件。有很多方法可以满足您的需要。大概是这样的:

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);