前言:
Selenium在當前頁面打開了新的窗口,此時就需要跳轉到新的窗口去,需要把窗口進行切換。
獲取窗口句柄方法:
獲取所有:
//獲取所有窗口句柄,返回的是set類型 driver.getWindowHandles();
獲取當前:
//獲取當前窗口句柄,返回的是string類型 driver.getWindowHandle();
窗口切換方法:
//窗口切換方法,需傳入想要切換窗口的句柄 driver.switchTo().window();
實例:
String url = "https://www.baidu.com/"; int j = 0 ; //引用IE瀏覽器驅動 System.setProperty("webdriver.ie.driver", "./src/driver/IEDriverServer.exe"); //創建IE瀏覽器對象 InternetExplorerDriver driver = new InternetExplorerDriver(); //瀏覽器最大化 driver.manage().window().maximize(); //等待瀏覽器加載完畢 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //打開網站 driver.get(url); driver.findElement(By.id("kw")).sendKeys("上海"); driver.findElement(By.id("su")).click(); WebElement s = driver.findElement(By.xpath("//div[@id='1']/h3/a")); s.click(); //獲取當前窗口句柄 String win = driver.getWindowHandle(); //獲取所有窗口句柄 Set<String>Windows = driver.getWindowHandles(); //把獲取到的窗口句柄放到list中 List<String>allWindows = new ArrayList<String>(Windows); //切換到新打開的窗口並最大化 for (int i = 0; i < allWindows.size(); i++) { if (!allWindows.get(i).equals(win)) { j = i; } } driver.switchTo().window(allWindows.get(j)); driver.manage().window().maximize();