Appium Android+H5 混合页面,定位不到元素,求解决。

5_shuai for 新秀群 · 2017年05月03日 · 最后由 dabao 回复于 2017年07月17日 · 2198 次阅读

H5 页面已经切换到了 Webview,根据 id 查找元素,总是提示找不到,有没有好的解决方法?谢谢!

代码:

元素检查:

debug 提示找不到:

共收到 6 条回复 时间 点赞

4 楼的问题已解决。使用的方法是,跳转到第二个页面后,先将当前页面切换到 NATIVE,再切换到 Webview 就行了。😂 😂 😂

这个是个 bug,Appium 测试 Android 混合应用时,第二次切换到 WebView 时的元素定位问题,临时解决方案 切换到 native 再切换回 webview,并记得添加一条 desired_caps['recreateChromeDriverSessions'] = True

先找出所有的元素 看看他们的 id 那个是你要找的

能否告知如何找出所有的元素,是用 driver.page_source 吗?

5_shuai 回复

用 xpath //*

你好,经过测试我发现了一个新问题。我在上一个页面用 driver.find_element_by_xpath("//div[@id='action_buy']").click() 点击了图上的购买方案(如下图)。

这时候,页面跳转到了当前的页面(如下图)。

这时候,我用 print driver.page_source 发现打印出来的页面元素还是第一张图的元素。我加了等待时间还是如此,让我疑惑的是当前页面为何打印出上一个页面的元素,这样的话,我的定位肯定是找不到了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册