Java 如何处理在新选项卡中自动打开的新窗口?
我的测试代码会自动打开新选项卡,然后在新选项卡中自动打开新窗口而不是选项卡 当我使用以下代码时:driver.getWindowHandles返回2个选项卡ID,而不是3个选项卡IDJava 如何处理在新选项卡中自动打开的新窗口?,java,selenium,webdriverwait,window-handles,expected-condition,Java,Selenium,Webdriverwait,Window Handles,Expected Condition,我的测试代码会自动打开新选项卡,然后在新选项卡中自动打开新窗口而不是选项卡 当我使用以下代码时:driver.getWindowHandles返回2个选项卡ID,而不是3个选项卡ID 如果是一个新窗口来计算窗口句柄数,则需要将WebDriverWait归纳为NumberOfWindowToBe2,并且可以使用以下代码块: String mainWindowHandler = driver.getWindowHandle(); // store mainWindowHandler for futu
如果是一个新窗口来计算窗口句柄数,则需要将WebDriverWait归纳为NumberOfWindowToBe2,并且可以使用以下代码块:
String mainWindowHandler = driver.getWindowHandle(); // store mainWindowHandler for future references
//line of code that opens a new TAB / Window
new WebDriverWait(driver, 5).until(ExpectedConditions.numberOfWindowsToBe(2)); //induce WebDriverWait
Set<String> handles = driver.getWindowHandles();
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext())
{
String subWindowHandler = iterator.next();
if (!mainWindowHandler.equalsIgnoreCase(subWindowHandler))
{
driver.switchTo().window(subWindowHandler);
}
}
工具书类
您可以在以下内容中找到一些相关的详细讨论:
很好,谢谢,等待3个窗口是个问题。。。新的WebDriverWaitdriver,5.不符合预期条件。Windows ToBe3;的编号;。很好!