新浏览器选项卡打开,在 SELENIUM WEBDRIVER JAVA 后找不到 WebELements

And*_*ams 1 java selenium selenium-webdriver

我正在运行以下方法:

public void AssertPreviousSubmissionClick() throws InterruptedException{
    EnterLoginCredentials();
    PreviousSubmissionClick();  //After this action takes place a new Browser Tab Opens
    Assert.assertTrue("Clicking the link didn't work!",oldLogo.isDisplayed());
    Reporter.log("PASSED! User Successfully click the Previous Year(s) Submission Request and was taken into the Grant Process!");
}
Run Code Online (Sandbox Code Playgroud)

我在 PreviousSubmissionClick() 处留下了一条注释,此时新的浏览器选项卡已打开。此时,在该方法中,我无法再在打开的新浏览器选项卡上识别 WebElements。请建议我如何在新的浏览器选项卡上找到 WebElements。

Guy*_*Guy 5

您需要将焦点切换到新选项卡

String currentTab = driver.getWindowHandle();
for (String tab : driver.getWindowHandles()) {
    if (!tab.equals(currentTab)) {
        driver.switchTo().window(tab); 
    }       
}
// do something on new tab
Run Code Online (Sandbox Code Playgroud)

并关闭新选项卡并切换回来

driver.close();
driver.switchTo().window(currentTab);
Run Code Online (Sandbox Code Playgroud)