在页面进行操作后打开了新的页面
定位元素后xpath正确,但是运行程序时提示定位不到元素
解决:
打开新的页面后,需要获取到新页面的句柄,才能操作新的页面
具体步骤:
1、先获取当前页面的句柄
2、拿到所有页面的句柄
3、通过判断是否在当前页面句柄操作当前页面,在当前页面,跳转到当前页面的句柄,然后操作当前页面
String cuhandle = driver.getWindowHandle(); Set<String> handles = driver.getWindowHandles(); for(String h1:handles){ if(h1.equals(cuhandle)){ driver.switchTo().window(h1); } }
driver.findElement(By.xpath("XXXXXX")).click();
在跳转后的页面操作后,回到原本的列表页面:
driver.navigate().back();