Java语言 --- 窗口句柄切换
对于测试人员对某网站测试时,有时会遇见元素定位不到问题,其中一中原因就是:页面进行了新增页面,由此页面元素定位不到
由于点击进入新添加页面,由此需要通过窗口句柄进行切换设置
* 1.首先在跳转页面之前需获取前页面的窗口句柄
* 2.再通过设置一个空的目标句柄用于存储新页面句柄
* 3.再获取所有窗口句柄,用于遍历
* 4.通过增强for循环进行遍历,用于查找当前页面句柄
* 5.通过当前页面与前页面比较是否为同一句柄
* 6.若不为同一句柄,则通过switch().window跳转到当前句柄
窗口句柄 切换 方法一:
String curHandle = driver.getWindowHandle() // 获取窗口当前句柄
String targetHandle = null ; // 定义目标句柄,初始值为空,用于存储跳转页面的句柄
Set<String> AllHandles = driver.getWindowHandles(); // 获取窗口所有句柄
Set<String> AllHandles = driver.getWindowHandles();
for(String windowHandle : AllHandles) {
if(!windowHandle.equalsIgnoreCase(currentHandle)) {
targetHandle = windowHandle;
}
}
driver.switchTo().window(targetHandle); // 实现句柄跳转
方法二:
通过获取所有句柄
通过将句柄对象转换为数据对象
再通过强制转换 将其转换为字符串模式
通过句柄跳转方法进行跳转
Set<String> AllHandles = driver.getWindowHandles(); // 获取窗口句柄
Object arr[] =AllHandles.toArray();
String arr1 = (String)arr[1];
driver.switchTo().window(arr1);