如何获得处理程序所有打开的窗口和浏览器的浏览器硒? [英] How to get handlers for all open windows and browsers browsers on selenium?

查看:148
本文介绍了如何获得处理程序所有打开的窗口和浏览器的浏览器硒?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找,这将在所有打开的窗口,标签页和浏览器返回的URL和处理程序的的方法,不仅仅是当前正在运行的硒之一。以下只是我的code返回由当前运行的测试实例化的当前窗口。

I am searching for a method that will return the urls and handlers across all open windows, tabs, and browsers, not just the one that is currently being run in selenium. My code below only returns the current window that was instantiated by running the current test.

String originalWindowHandle = driver.getWindowHandle();
System.out.println("original Window handles are: " + originalWindowHandle);
System.out.println("Title of original Page:" + driver.getTitle());  
java.util.Set<java.lang.String> windowHandles = driver.getWindowHandles();
System.out.println(windowHandles);
int count = windowHandles.size();
//if (count > 1) {
for (String window: windowHandles) {
        String url = driver.getCurrentUrl();
        System.out.println("current url is: " + url);
    }       
//}

任何意见或线索将是有益的,谢谢。

any ideas or leads would be helpful, thanks.

推荐答案

您也越来越正确计数。但从来没有切换到新打开的窗口。在增强的for循环要切换到各个窗口,然后检查网址

You are getting correct counts. But never switched to newly opened windows. In enhanced for loop you want to switch to each window and then check url

String originalWindowHandle = driver.getWindowHandle();
System.out.println("original Window handles are: " + originalWindowHandle);
System.out.println("Title of original Page:" + driver.getTitle());  
java.util.Set<java.lang.String> windowHandles = driver.getWindowHandles();
System.out.println(windowHandles);
int count = windowHandles.size();
//if (count > 1) {
for (String window: windowHandles) {
    if(!window.equals(originalWindowHandle)){
        driver.switchTo().window(window);
        String url = driver.getCurrentUrl();
        System.out.println("current url is: " + url);        
    }  
    //to go back to original    
    driver.switchTo().window(originalWindowHandle); 

}   
//}

这篇关于如何获得处理程序所有打开的窗口和浏览器的浏览器硒?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆