gpt4 book ai didi

javascript - 使用 selenium js 连接到已经启动的网络驱动程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:20 25 4
gpt4 key购买 nike

我不是 Selenium 专家,所以我可能会漏掉一些东西。

  • 公司中的一个软件使用 ChromeDriver 启动谷歌浏览器。
  • 我想从我的 JavaScript 代码附加到这个浏览器。

我知道 ChromeDriver 启动的端口:

Starting ChromeDriver 77.0.3865.10 (bc3579f611bbc73331171afe020ec7a45e6ccc55-refs/branch-heads/3865@{#93}) on port 55848

我尝试从 JS 连接:

const webdriver = require('selenium-webdriver')

void async function() {
let driver = await new webdriver.Builder().forBrowser('chrome').usingServer('http://localhost:55848/').build();

await driver.get('http://www.google.com/ncr');
await driver.findElement(By.name('q')).sendKeys('webdriver');
await driver.findElement(By.name('btnG')).click();
await driver.wait(until.titleIs('webdriver - Google Search'), 1000);

driver.quit();
}();

连接不成功。我能想到的是这段代码试图启动一个新实例。

出现错误信息:

SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 77

查了一下运行的chrome版本是77,ChromeDriver也是77,这个用corp软件启动的chrome其实是一个便携版的chrome。我的电脑上安装了 Chrome 76。我能想到的是,我编写的代码试图启动一个新的 Chrome 实例。而且版本不匹配。

知道如何连接到现有的吗?并控制它?

更新:

我设法用 Firefox 做了同样的事情。 Firefox 是用 geckodriver 启动的。我仍然无法连接它。错误信息是:

SessionNotCreatedError: Session is already started

所以我很确定这与 chrome 版本无关,但它会尝试创建一个新 session 而不是连接现有 session 。

最佳答案

是的,问题出在chrome驱动的版本上。获取 chromedriver.exe 版本 77... 否则您将不断收到此错误,因为最新版本的 selenium 3.141.59 不支持其他版本的 chrome。转到此链接 ( https://www.seleniumhq.org/download/ ) 并获取最新版本的 chromedriver.exe,我认为它会解决您的问题。

关于javascript - 使用 selenium js 连接到已经启动的网络驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com