什么是cdp协议
F12能够打开开发者工具进行调试,开发者工具即DevTools大家应该都知道,那么Chrome DevTools就是用的CDP协议来跟浏览器进行交互的调试等一系列操作的。
1.在devtools设置中打开Protocol Monitor用于监测cdp协议的调用记录:
- 只看几个关键的cdp协议请求/响应内容。
- Debugger.paused 官方文档说明 此方法会返回当前Debug触发时,暂停点的callFrame信息。
- 当我们debug在这个点,并且在console输入命令时,我们是可以调用当前暂停断点位置的所有函数作用域内的函数,此时调用时候的CDP内容为Debugger.evaluateOnCallFrame方法,请求内容包含一个expression为执行的表达式内容。
远程调试模式启动浏览器
值得注意是安装 websocket 模块,要按照这以下顺序
- pip install webscoket
- pip install websocket-client
cmd中输入以下命令,启动远程调试浏览器
1 | "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9223 --user-data-dir="C:\Users\92859\Desktop\test" |
“C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe”:浏览器的路径
edge的话通过:edge://version查看
–remote-debugging-port=9223:远程调试的websocket端口,可使用http://127.0.0.1:9223/json/version查看是否启动成功:
–user-data-dir=”C:\Users\92859\Desktop\test”:用户数据保存地址,随便找个空文件夹就可以
:::info
如何关闭调试模式启动的端口:
在任务管理器中把edge全部关闭
:::
使用cdp调用加解密函数
1 | import json |