【问题标题】:Using JavaScript's Selenium Webdriver, how to launch Chrome with a specific path to chromedriver.exe?使用 JavaScript 的 Selenium Webdriver,如何使用 chromedriver.exe 的特定路径启动 Chrome?
【发布时间】:2019-09-28 02:25:37
【问题描述】:

我有以下 Javascript 代码,它使用 PATH 环境变量指定的 chromedriver.exe 的路径启动 Chrome。这个问题与how to launch Chrome with a specific chrome.exe 不同,因为 chromedriver.exe 是一个独立的服务器,它接收来自 Selenium Server 的命令并使用 JSON 命令与 Chrome 浏览器的 API 对话。您需要 chrome.exe 和 chromedriver.exe 才能使用 Selenium 启动 Chrome 浏览器。

    let driver = await new Builder()
        .forBrowser('chrome')
        .build();

但是,我想清除我的 PATH 环境变量,而是在启动 Chrome 的代码中设置一个路径,如下所示。请问我该怎么做?

    let driver = await new Builder()
        .forBrowser('chrome')
        .withDriverPath('C:\\temp\\chromedriver.exe')
        .build();

【问题讨论】:

  • 因为 javascript 代码在客户端处理。你怎么知道客户端中存在PATH或chromedriver.exe?
  • @AuNguyen 你可以用 Node.js 运行 Javascript
  • @lp177 这不是上述问题的重复,因为上面询问的是 chrome.exe 的特定路径,而不是 chromedriver.exe。它们是不同的。
  • @lp177 我已经编辑了这个问题来描述 chrome.exe 和 chromedriver.exe 之间的区别。感谢您指出这一点,因为原始问题中并不清楚。 :)

标签: javascript typescript selenium google-chrome selenium-chromedriver


【解决方案1】:

阅读中https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/chrome.js

在第 212 行

似乎可以在您的环境变量中为 CHROMEDRIVER_EXE 设置一个值

【讨论】:

  • 我最终设置了 PATH 环境变量:process.env["PATH"] = "<insert path to directory containing Chrome here>"; 它成功了!
猜你喜欢
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-26
  • 2013-12-05
  • 1970-01-01
相关资源
最近更新 更多