1.今天遇到個奇葩問題,iframe有兩個id相同的(如下圖)
使用driver.switchTo().frame(“frmLinkPage1”);這個無法使用了。
後來改用driver.switchTo().frame(0);就可以用了
順便在提一下退出ifrmae
driver.switchTo().defaultContent();
2.點擊一個按鈕,打開一個新窗口,等處理完後,關閉新窗口,在進行原來窗口的處理。這個過程需要的代碼如下。
String detailWindowHandle = null;
首先:
//獲取主窗口header信息
String mainWindowHandle=driver.getWindowHandle();
//獲取新窗口焦點 切換窗口
Set<String> handles=driver.getWindowHandles();
System.out.println(handles);
Iterator<String> itWin=handles.iterator();
while(itWin.hasNext()){
String key=itWin.next();
if(mainWindowHandle.equals(key)){
continue;
}
detailWindowHandle=key;
}
//切換到新打開的窗口,獲取焦點
WebDriver detailWindow = driver.switchTo().window(detailWindowHandle);
在進行下一步,
//關閉新窗口
detailWindow.close();
handles.remove(detailWindowHandle);
//切換回主窗口,焦點再次返回到主窗口
driver=driver.switchTo().window(mainWindowHandle);