app内webView元素定位

解决办法:

1、切换到webView,对页面源码进行打印

        # self.driver.switch_to.context("WEBVIEW_xweb")
        # print(self.driver.context)
        p = self.driver.page_source
        with open('123.html','wb') as f:
            f.write(p.encode('utf-8'))

2、当上面方法获取元素不全时,通过webelement.get_attribute(“innerHtml”)来获取当前元素的源码

            p = eles[0].get_attribute('innerHTML')
            with open('123.html', 'wb') as f:
                f.write(p.encode('utf-8'))

 3、使用chrome自带的chrome://inspect定位

  想要对web应用或者Hybrid应用进行调试时(获取页面元素信息等等),必定绕不开的就是chrome浏览器的inspect功能了:在chrome浏览器URL中输入chrome://inspect即可对移动设备中的web页面进行调试。方便是方便,但是碰到的坑数不胜数:

  • 点击inspect发现加载的是空白页面
  • 点击inspect出来的是http 404

4、uc-devtools工具来定位

  准备:需要打开App的webview-debug模式

  安装很简单:直接点击下载安装即可,由于是基于Chromium,所以原理其实和chrome的inspect类似,不需要kexue上网!
  使用步骤:

    • 打开手机/模拟器,保证能够通过adb devices检测到设备(检测不到的同学可以看下我之前写的adb连接问题整理这篇blog)
    • 打开任意手机端浏览器访问网页或者H5页面,注意:如果是app内嵌web页面,需要打开app的webview debug模式
    • 进行到第二步如果发现显示不出来,可以选择设置->本地Devtools Inspector UI资源

参考文档:https://www.cnblogs.com/qican/p/12198210.html

参考文档:https://www.cnblogs.com/yyoba/p/9969394.html

posted @ 2020-05-25 10:42  爱语默  阅读(742)  评论(0编辑  收藏  举报