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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM