/*全局设置,当元素识别不到的时候,可以接受的最长等待时间。*/ driver.manage()timeouts().implicitlyWait(30, TimeUnit.SECONDS); /*全局设置,页面加载的最长等待时间。*/ driver.manage()timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); /*全局设置,关于JavaScript代码的异步处理的超时时间。AJAX请求。*/ driver.manage()timeouts().setScriptTimeout(30, TimeUnit.SECONDS);
2. 新窗口处理
2.1. 对话框确认框的操作
Alert alert = driver.switchTo().alert(); alert.accept(); //点击确定 alert.dismiss(); //点击取消
2.2. 新窗口的操作
//windowID切换 String loginID = driver.getWindowHandle(); for(String windowID : driver.getWindowHandles()){ if (!windowID.equals(loginID)) driver.switchTo.().window(windowID); } //windowTitle切换 for(String windowID : driver.getWindowHandles()){ driver.switchTo.().window(windowID); Sring windowTitle = driver.getTitle(); if(windowTitle.contains("部分标题")){ break; } }
2.3. 弹出窗口和Iframe
driver.switchTo().frame("frameId");//切换到frame页面 driver.switchTo().window("windowhandle");//切换回到主页面
3. 更多文献:
http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/list_35_1.html
http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/2017427134828.html