我在使用 appium 测试混合的 android APP 时,在遇到 web view 后
driver.content("WEBVIEW");
切换到 web view
然后通过
driver.getURL();
获取到当前的 URL 是 **/my.html
这时是可以通过 web driver 的方式获取到控件的
后来点击该页面的一个按钮,比如设置按钮切换到设置页面 */setting.html,该页面也是 webview
这时再去获取 URL 还是 */my.html
URL 没有变,所有不能获取到该页面元素
我试过多种方法
首先,webview 确实只有一个
1.我就先切换成 NATIVE 再切换成 web view 再查看 url------失败
2.通过
driver.get(url);
方式手动切换 URL ------------失败
各位大神有没有遇到这个问题啊,求解
正如一楼所说,在切换 context 后还要切换 Windows,以下是我的解决办法 :
public void switchWindows(){
try{
Set<String> windows=driver.getWindowHandles();
driver.switchTo().window((String) windows.toArray()[windows.size()-1]);
}catch (Exception e){
log.warn("Try to switch windows fails");
log.warn(e.getMessage());
}
}
通过这个方法来切换至最前面的 Windows