天天看點

selenium切換視窗句柄

文章目錄

  • 切換至下一個視窗
  • 切換到第幾個視窗
  • 切換到指定的視窗

大緻邏輯是通過 getWindowHandles 這個方法擷取視窗的

Set<String>

集合,然後通過 for 循環,隻要找到第一個視窗句柄和目前視窗句柄不一樣的,我們就切換到這個新句柄

for (String window : driver.getWindowHandles()) {
	if (!window.equals(driver.getWindowHandle())) {
		driver.switchTo().window(window);
		break;
	}
}
           

我們也可以切換到第幾個句柄,因為 set 是無序的,是以真實視窗的順序和實際 set 中取出資料的順序不一緻,但我們可以轉成數組來取

Object[] obj = driver.getWindowHandles().toArray();
driver.switchTo().window(obj[3].toString());
           
for (String window : driver.getWindowHandles()) {
	if (driver.getTitle() == "百度") {
		break;
	}
	driver.switchTo().window(window);
}