利用Chrome Dev Tools 連接手機(jī)端Webview步驟簡(jiǎn)化說(shuō)明

寫在前面:
需提前開啟微信的webview,并保證chromedriver可以正常啟動(dòng)
很多CDP測(cè)試都是用的PC端,開啟PC端的chrome,這里主要說(shuō)一下如何與webview建立ws連接

1.啟動(dòng)chromedriver

chromedriver --url-base=wd/hub --port=8000 --adb-port=5037

啟動(dòng)后出現(xiàn)類似如下日志:chromedriver版本不同 日志內(nèi)容會(huì)不同

Starting ChromeDriver 2.40.565386 (45a059dc425e08165f9a10324bd1380cc13ca363) on port 8000
Only local connections are allowed.

2.連接webview,生成websocket地址

手機(jī)微信開啟,頁(yè)面停留在webview頁(yè)面,確定當(dāng)前在chrome瀏覽器中chrome://inspect/#devices可以找到對(duì)應(yīng)的webview頁(yè)面

向chromedriver發(fā)送session

http://127.0.0.1:8000/wd/hub/session//POST發(fā)送 8000為chromedriver啟動(dòng)端口
{
"desiredCapabilities": 
    {
    "chromeOptions": 
        {

        "androidUseRunningApp": true, 
        "androidDeviceSerial": "設(shè)備id",
        "androidPackage": "com.tencent.mm",//微信package
        "androidProcess": "com.tencent.mm:tools"http://微信Proccess
        }
    }
}

3.獲取websocket地址

adb -P 5037 -s 設(shè)備id forward --list

可以得到

[設(shè)備id]  tcp:52418 localabstract:webview_devtools_remote_2327

瀏覽器中打開

http://localhost:52418/json/list   #52418取自上面的端口號(hào) 結(jié)果即可得到該頁(yè)面的ws地址

此時(shí)我們就可以通過(guò)CDP向webview頁(yè)面注入JS了

在python文件中通過(guò)websocket向webview傳遞js

import websocket
import json

conn = websocket.create_connection("ws://localhost:52418/devtools/page/AFB76F51539FCDBE2459D0B665CAAF51")
conn.send(json.dumps({"id": 1, "method": "Runtime.evaluate", "params": {"expression": "window.location.toString()"}}))
data = conn.recv()
print data

參考文檔:

https://chromedevtools.github.io/devtools-protocol/tot/Runtime
# ATX 利用 Chrome Dev Tools 進(jìn)行 WebView 的測(cè)試 (初級(jí)版本)
Appium測(cè)試WebView切換context:為什么Android System Webview升級(jí)之后仍然報(bào)出chrome version版本過(guò)低問(wèn)題
Android Webview 基于chromedriver 查看具體頁(yè)面pagesource

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容