一、通過按鈕點擊打開的新頁面,不涉及到打開多窗口,只要在已有打開的窗口實現切換操作即可
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即可
