首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有远程webdriver的CDP。'WebDriver‘对象没有属性'execute_cdp_cmd’python

带有远程webdriver的CDP。'WebDriver‘对象没有属性'execute_cdp_cmd’python
EN

Stack Overflow用户
提问于 2022-05-05 03:09:07
回答 1查看 1.1K关注 0票数 2

我试着用CDP做测试,

代码语言:javascript
运行
复制
webdriver.execute_cdp_cmd('Network.enable', {}) 

与远程网络驱动程序(在Selenoid)。但是得到这个错误:

AttributeError:'WebDriver‘对象没有属性'execute_cdp_cmd’。在当地环境中,它工作得很好。我尝试使用Selenium 3.141.0和4.1.3。

我熟悉PyCDP文档(https://py-cdp.readthedocs.io/en/latest/getting_started.html),但我不知道如何正确使用它。

为什么它不能与远程Why驱动程序一起工作?有人有使用Selenium 4中的python执行CDP命令的例子吗?

我使用以下功能:

capabilities ={ 'loggingPrefs':{'browser':'ALL'},'goog:loggingPrefs':{'performance':'ALL'},"browserName":"chrome","browserVersion":"99.0","selenoid:options":{ "enableVNC":True,"enableVideo":False }}

如果request.config.getoption('--remote'):driver =request.config.getoption desired_capabilities=capabilities,options=options)

EN

回答 1

Stack Overflow用户

发布于 2022-10-12 19:34:36

看起来,远程网络驱动程序不支持CDP。

找到了解决这个问题的好办法:

代码语言:javascript
运行
复制
import json

def send(driver, cmd, params={}):
  resource = "/session/%s/chromium/send_command_and_get_result" % driver.session_id
  url = driver.command_executor._url + resource
  body = json.dumps({'cmd': cmd, 'params': params})
  response = driver.command_executor._request('POST', url, body)
  return response.get('value')

send(webdriver, 'Network.enable', {})

资料来源和相关讨论:https://github.com/SeleniumHQ/selenium/issues/8672

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72121479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档