java selenium针对多种情况的多窗口切换

一、通过按钮点击打开的新页面,不涉及到打开多窗口,只要在已有打开的窗口实现切换操作即可

Set<String> winHandels = driver.getWindowHandles();
List<String> it = new ArrayList<String>(winHandels);
String url = driver.getCurrentUrl();
System.out.println(url);

//跳转到新打开的窗口

driver.switchTo().window(it.get(1));

不加这一句,无法定位到新窗口的元素

driver.close();//通过这句可以将当前窗口给关闭

//回退到原有的窗口

driver.switchTo().window(it.get(0));

二、通过driver.get(url)打开多个窗口

试过很多次,比如

driver.get(url1);//open url1

driver.get(url2);//open url2

当执行到open url2的时候,url1会被关闭,那怎么实现打开多个窗口或者说在已有的窗口上new tab呢?

Method1:可以使用js

((JavascriptExecutor ) driver).executeScript("window.open(\"http://baidu.com\");");

可以通过js实现new tab

或者js打开空的tab页面,driver.get(url2)也可以实现;

Method2:

WebDriver driver1 = new FirefoxDriver();

WebDriver driver2 = new FirefoxDriver();

driver1.get(url1);

driver2.get(url2);

通过实例化两个driver,然后分别打开不同的url,这也是个巧方法

在对应的页面操作完成后关闭driver即可

 

posted @ 2016-10-19 09:33  xiaosi203  阅读(5403)  评论(1编辑  收藏  举报