我正在尝试通过CDP执行一些命令,然而,无论我使用哪种Selify/Driver/Chrome组合,结果总是相同的。
上一次测试的对象:
- Selenie 4.1.1
- Chrome+驱动程序96.0.4664.110
该项目是用C语言编写的,所以我通过cURL手动将其发布到Selify。除了CDP之外,其他所有命令都工作得很好。
我已经检查了SelSelum和Chrome驱动程序;它们都内置了CDP支持。
我试图发帖的URL是:
- /session/id/goog/cdp/execute
- /session/id/{}/cdp/execute
发布的数据格式为:“cmd”+“Params”(json对象)。
两者都以相同的结果结束:org.openqa.selenium.UnsupportedCommandException.
我还尝试了在不同的模式下运行Selify,独立模式、集线器/节点模式、相同的结果。
有没有人能告诉我我做错了什么?或者也许我误解了这个用法?
1条答案
按热度按时间vm0i2vca1#
使用chromedrive可执行文件
这适用于我(Windows+Postman),但也应该适用于Curl Linux/Mac。
输出:
允许远程连接
默认情况下,chromeDriver仅允许本地连接。
允许某些远程IP的步骤:
参考文献:https://sites.google.com/a/chromium.org/chromedriver/security-considerations
使用Selify Grid运行CDP命令
最终,它开始对我起作用,
注意:对于Selify Grid HTTP请求,Content-Type标头应该具有charset=utf-8
Content-Type:application/json;charset=utf-8
。前提条件