Java 在selenium中一次处理4个窗口

Java 在selenium中一次处理4个窗口,java,eclipse,selenium,selenium-webdriver,Java,Eclipse,Selenium,Selenium Webdriver,我想在多个窗口之间切换并在每个窗口上执行操作。窗口类型类似于父窗口>>子窗口>>子窗口>>子窗口>>子窗口。我有一个处理多个窗口的通用代码,但我无法理解如何调用该函数。我需要帮助 您能解释一下我应该如何调用下面的函数,以及firstWindow和secondWindow中的参数是什么吗 下面是代码 //To Handle Multiple Windows or Switch Between Multiple Windows. public void switchWindow(WebDri

我想在多个窗口之间切换并在每个窗口上执行操作。窗口类型类似于父窗口>>子窗口>>子窗口>>子窗口>>子窗口。我有一个处理多个窗口的通用代码,但我无法理解如何调用该函数。我需要帮助

您能解释一下我应该如何调用下面的函数,以及firstWindow和secondWindow中的参数是什么吗

下面是代码

//To Handle Multiple Windows or Switch Between Multiple Windows.
    public void switchWindow(WebDriver driver, String firstWindow, String secondWindow) 
    {
        Set<String> windowHandles = driver.getWindowHandles();
        for(String windows : windowHandles) 
        {
            if(!windows.equals(firstWindow) && !windows.equals(secondWindow)) 
            {
                driver.switchTo().window(windows);
            }
        }
    }
//处理多个窗口或在多个窗口之间切换。
公共无效开关窗口(WebDriver驱动程序、字符串第一窗口、字符串第二窗口)
{
设置windowHandles=driver.getWindowHandles();
用于(字符串窗口:windowHandles)
{
如果(!windows.equals(第一个窗口)和&!windows.equals(第二个窗口))
{
driver.switchTo().window(窗口);
}
}
}

我想这种方法可以帮助您在窗口之间切换

    public void switchToNextTab() {
        ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
        driver.switchTo().window(tab.get(1));
    }
    
    public void closeAndSwitchToNextTab() {
        driver.close();
        ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
        driver.switchTo().window(tab.get(1));
    }

    public void switchToPreviousTab() {
        ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
        driver.switchTo().window(tab.get(0));
    }

    public void closeTabAndReturn() {
        driver.close();
        ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
        driver.switchTo().window(tab.get(0));
    }

    public void switchToPreviousTabAndClose() {
        ArrayList<String> tab = new ArrayList<>(driver.getWindowHandles());
        driver.switchTo().window(tab.get(1));
        driver.close();
    }

谢谢你的回答,但是你能解释一下调用我给出的函数的firstWindow和secondWIndow的参数应该是什么吗?它将以字符串firstWindow=driver.getWindowHandle()的形式返回父窗口名;
//first window    perform actions...
                  switchToNextTab();
//second window   perform actions...
                  closeAndSwitchToNextTab();
//third window    perform actions...
                  closeAndSwitchToNextTab();
//fourth window   perform actions...