解決辦法:
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資源