连接到远程调试前端 URL 后,无法使用 selenium 与元素交互

Unable to interact with element using selenium after connecting to remote debugging Frontend URL

提问人:Akhil Nair 提问时间:2/3/2023 最后编辑:burnsiAkhil Nair 更新时间:2/3/2023 访问量:69

问:

使用远程调试后连接到 devtoolsFrontendUrl 后,我无法与 UI 中的元素交互。但是,如果我没有连接到devtoolsFrontendUrl,则不会遇到问题。

我的脚本:

 webdriver = require("selenium-webdriver");
   const chrome = require("selenium-webdriver/chrome");
   let opts = new chrome.Options();
   opts.addArguments("remote-debugging-port=9222")
   opts.addArguments("headless")
   opts.addArguments("remote-debugging-address=0.0.0.0")
   opts.addArguments("window-size=1920,1080")
   const { Builder, Capabilities } = webdriver;
   let capabilities = Capabilities.chrome();
   driver = await new Builder()
   .usingServer("http://localhost:4444/wd/hub")
   .withCapabilities(capabilities)
   .setChromeOptions(opts)
   .build();
 await driver.get("My URL")

之后,我就可以在 chrome 浏览器中访问该网址了localhost:9222/json

我得到的JSON如下:

[ {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:9222/devtools/page/5C9612F350A70AF13943240DE0B1EF05",
   "id": "5C9612F350A70AF13943240DE0B1EF05",
   "title": "title",
   "type": "page",
   "url": "myURL",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/5C9612F350A70AF13943240DE0B1EF05"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:9222/devtools/page/FB791E87874704F96453713AB412C02C",
   "id": "FB791E87874704F96453713AB412C02C",
   "title": "about:blank",
   "type": "page",
   "url": "about:blank",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/FB791E87874704F96453713AB412C02C"
} ]

然后我连接到 devtools 前端 URL:http://localhost:9222/devtools/inspector.html?ws=localhost:9222/devtools/page/5C9612F350A70AF13943240DE0B1EF05

连接到上面的 url 后,我得到了我使用 selenium 和 devtools 打开的 URL 的远程显示,但我无法使用以下代码使用 selenium 对元素执行单击:

driver.findElement(webdriver.By.xpath(`//button[contains(text(),'Sign In')]`)).click();

但是如果我没有连接到devtoolsFrontendUrl,它就会起作用。

我尝试了使用傀儡代替硒的替代解决方案,但我仍然面临同样的问题。

JavaScript 节点:.js 硒 硒 网络驱动程序 chrome-远程调试

评论


答: 暂无答案