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

Posted

技术标签:

【中文标题】Selenium - 单击链接会打开一个新选项卡【英文标题】:Selenium - Clicking a link opens up a new tab 【发布时间】:2016-05-06 04:14:11 【问题描述】:

我已经看到很多关于如何在新标签页中打开链接的帖子,但是当您有一个创建新标签页的链接并且您需要验证标题的情况下呢?我需要做的就是单击链接 --> 验证新选项卡的标题是否正确 --> 关闭选项卡并继续原来的选项卡。提前感谢您的帮助!

【问题讨论】:

【参考方案1】:
//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       

【讨论】:

以上是关于Selenium - 单击链接会打开一个新选项卡的主要内容,如果未能解决你的问题,请参考以下文章

获取打开的选项卡 Selenium/Java 的 URL

如何使用 Selenium WebDriver 打开一个新选项卡并启动链接?

chrome调试器:单击控制台中的异常链接会在新选项卡中打开文件,而不是交叉链接到源文件

如何专注于第二个选项卡并使用 selenium webdriver 处理它

Selenium 2:在新标签中打开链接并关闭标签

如何使用 Selenium WebDriver 在新选项卡(chrome)中打开链接?