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