我正在尝试使用 CDP 运行测试,
webdriver.execute_cdp_cmd('Network.enable', {})
Run Code Online (Sandbox Code Playgroud)
使用远程网络驱动程序(在 Selenoid 中)。但出现此错误:
AttributeError:“WebDriver”对象没有属性“execute_cdp_cmd”。在本地环境下效果很好。我尝试使用 Selenium 3.141.0 和 4.1.3。
我熟悉 PyCDP 文档(https://py-cdp.readthedocs.io/en/latest/getting_started.html),但我不知道如何正确使用它。
为什么它不能与远程网络驱动程序一起使用?有人有在 Selenium 4 中使用 python 执行 CDP 命令的示例吗?
我使用以下功能:
功能= {'loggingPrefs':{'浏览器':'全部'},'goog:loggingPrefs':{'性能':'全部'},“browserName”:“chrome”,“browserVersion”:“99.0”,“ selenoid:options": { "enableVNC": True, "enableVideo": False } }
if request.config.getoption('--remote'): driver = webdriver.Remote(command_executor='selenoid.dev:4444/wd/hub',desired_capability=功能, options=选项)
python selenium google-chrome-devtools selenium-chromedriver selenoid
我每小时使用 selenium-java 3.12.0 运行一堆测试用例;测试NG;Selenoid 与 docker、Jenkins。有时(大约十分之一)我会收到错误:
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T15:28:36.4Z'
System info: host: 'autotest.rvkernel.com', ip: '94.130.165.217', os.name: 'Linux', os.arch: 'amd64', os.version: '4.13.0-26-generic', java.version: '1.8.0_181'
Driver info: driver.version: RemoteWebDriver
Capabilities [{mobileEmulationEnabled=false, hasTouchScreen=false, platform=LINUX, acceptSslCerts=false, acceptInsecureCerts=false, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, platformName=LINUX, setWindowRect=true, unexpectedAlertBehaviour=, applicationCacheEnabled=false, rotatable=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.39.562737 (dba483cee6a5f15e2e2d73df16968ab10b38a2bf), userDataDir=/tmp/.org.chromium.Chromium.gURWcu}, takesHeapSnapshot=true, pageLoadStrategy=normal, unhandledPromptBehavior=, databaseEnabled=false, handlesAlerts=true, version=67.0.3396.62, browserConnectionEnabled=false, nativeEvents=true, locationContextEnabled=true, cssSelectorsEnabled=true}]
Session ID: 56c4b100a95d89b3d5702ec8a1a0698a
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:564)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:276)
at …Run Code Online (Sandbox Code Playgroud) 我知道我可以使用 Selenoid-UI 连接到使用浏览器运行的 webdriver 容器。但是有没有能力使用 VNC 客户端之一连接到容器?