执行CDP命令
指令说明
在指定的网页执行CDP命令。该指令通过chrome.debugger.sendCommand实现,只支持部分CDP命令
指令输入参数
| 输入参数 | 输入参数类型 | 说明 |
|---|---|---|
| 网页对象 | WebPage | 在该网页执行CDP命令 |
| 命令 | str | CDP命令名,例如 Page.printToPDF、Input.dispatchMouseEvent等 |
| 参数 | Python表达式 | CDP参数,会自动序列化成json,然后再反序列化成js对象 |
| 最长执行时间 | number | CDP命令需要在该时间内执行完毕,单位:秒 |
指令输出参数
| 输出参数 | 输出参数类型 | 说明 |
|---|---|---|
| 执行结果 | any | CDP命令的返回值,会自动序列化、反序列化 |
Json流程 参数值规则
命令是字符串字面量,生成 Json流程 时需要写成 Python 字符串表达式,例如"命令": "'Page.navigate'"。参数是 Python 表达式,会自动序列化成 JSON 后传给 CDP。需要传对象字面量时写成 Python 映射表达式字符串,例如"参数": "{'url': 'https://example.com'}";没有参数时写"参数": "None"。最长执行时间是数字或数字表达式,例如"最长执行时间": "10"。
支持的命令
-
Runtime.evaluate
-
Runtime.callFunctionOn
-
Runtime.getProperties
-
Runtime.enable
-
Page.enable
-
Page.navigate
-
Page.reload
-
Page.captureScreenshot
-
Page.printToPDF
-
DOM.enable
-
DOM.getDocument
-
DOM.querySelector
-
DOM.getBoxModel
-
DOM.resolveNode
-
Input.dispatchMouseEvent
-
Input.dispatchKeyEvent
-
Input.insertText
-
Network.enable
-
Network.getResponseBody
-
Network.setExtraHTTPHeaders
-
Network.clearBrowserCache
-
Fetch.enable
-
Fetch.continueRequest
-
Fetch.fulfillRequest
-
Fetch.failRequest
-
Emulation.setDeviceMetricsOverride
-
Emulation.setUserAgentOverride
-
Emulation.setGeolocationOverride
-
Target.getTargets
-
Target.setAutoAttach
-
Target.attachToTarget
-
Target.detachFromTarget
-
Debugger.enable
-
Debugger.setBreakpointByUrl
-
Debugger.resume
-
Debugger.pause
-
CSS.enable
-
CSS.getMatchedStylesForNode
-
CSS.setStyleTexts
-
Storage.clearDataForOrigin
-
Storage.getStorageKeyForFrame
-
Performance.enable
-
Performance.getMetrics
-
Tracing.start
-
Tracing.end
类型定义参考
- 曲辕插件版本 >= 3.1.0
- 曲辕版本 >= 8.9.0
常见问题
参考 网页操作常见问题