java - Selenium - 单击链接打开一个新选项卡

标签 java selenium selenium-webdriver automation

我看过很多关于如何在新标签页中打开链接的帖子,但是当您有一个创建新标签页的链接并且需要验证标题时怎么办?我需要做的就是单击链接 --> 验证新选项卡的标题是否正确 --> 关闭选项卡并在原始选项卡上继续。在此先感谢您的帮助!

最佳答案

//Get Current Page 
String currentPageHandle = driver.getWindowHandle();                
linkToClick.click();        

//Add Logic to Wait till Page Load 

// Get all Open Tabs
ArrayList<String> tabHandles = new ArrayList<String>(driver.getWindowHandles());

String pageTitle = "ThePageTitleIhaveToCheckFor";
boolean myNewTabFound = false;

for(String eachHandle : tabHandles)
{
    driver.switchTo().window(eachHandle);
    // Check Your Page Title 
    if(driver.getTitle().equalsIgnoreCase(pageTitle))
    {
        // Report ur new tab is found with appropriate title 

        //Close the current tab
        driver.close(); // Note driver.quit() will close all tabs

        //Swithc focus to Old tab
        driver.switchTo().window(currentPageHandle);
        myNewTabFound = true;           
    }
}

if(myNewTabFound)
{
    // Report page not opened as expected       
}

关于java - Selenium - 单击链接打开一个新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35067381/

相关文章:

java - 如何在 Selenium 中选择 div->ul->li 中的元素

javascript - WebdriverIO - 关闭浏览器并打开另一个

java - 如何在 Java 中查找 Chrome 下载路径

python - 无法使用python选择带有 Selenium 的复合元素

java - 如何在另一个应用程序模块中使用项目源代码

selenium - Demandware 站点测试

java - 用于提供静态内容的 Spring servlet?

selenium - Appium/WinAppDriver 无法找到上下文菜单 - 但仅在某些机器上

Java hibernate 查询中 order by 子句的问题

java - 关于 ActionPerformed 和 ActionEvent