Selenium Nodejs CHROMEDRIVER路径

Cod*_*uru 12 javascript selenium node.js

试过"npm install selenium-webdriver"我仍然得到下面的错误.知道路径在哪里?

Error: The ChromeDriver could not be found on the current PATH. Please download the latest version of the ChromeDriver from http://chromedriver.storage.googleapis.com/index.html and ensure it can be found on your PATH.
    at Error (<anonymous>)
    at new ServiceBuilder (/var/www/nodejs/node_modules/selenium-webdriver/chrome.js:51:11)
    at getDefaultService (/var/www/nodejs/node_modules/selenium-webdriver/chrome.js:216:22)
    at new Driver (/var/www/nodejs/node_modules/selenium-webdriver/chrome.js:470:32)
    at Builder.build (/var/www/nodejs/node_modules/selenium-webdriver/builder.js:302:14)
    at Object.handle (/var/www/nodejs/node.js:31:4)
    at next_layer (/var/www/nodejs/node_modules/express/lib/router/route.js:103:13)
    at Route.dispatch (/var/www/nodejs/node_modules/express/lib/router/route.js:107:5)
    at c (/var/www/nodejs/node_modules/express/lib/router/index.js:195:24)
    at Function.proto.process_params (/var/www/nodejs/node_modules/express/lib/router/index.js:251:12)
Run Code Online (Sandbox Code Playgroud)

Bli*_*ill 30

好的,假设您使用的是Windows,请尝试以下步骤:

  • 从这里ChromeDriver下载最新版本的ChromeDriver

  • 提取zip并将内容放在您知道的位置,例如"C:\ Users\UserName\AppData\ChromeDriver"

  • 转到控制面板 - >系统 - >编辑系统变量.单击"环境变量"按钮.

  • 在系统变量框中,将有一个名为"Path"的变量选择它并单击编辑.将路径复制并粘贴到您下载的chromedriver.exe的包含目录到变量值的末尾,然后用分号结束.

  • 单击"确定"再次关闭环境变量,然后再次关闭系统属性.

  • 关闭并重新打开终端窗口.

  • 再次运行该命令.

我希望这有助于-有一个很好的教程在这里

  • [适用于Linux的步骤](// stackoverflow.com/a/24364290/1197421) (3认同)

小智 5

即使在系统变量中添加了驱动程序路径后,它也没有起作用。

但是通过创建和设置自己的默认Chrome服务,它可以正常工作

var webdriver = require('selenium-webdriver');
var chrome = require('selenium-webdriver/chrome');
var path = require('chromedriver').path;

var service = new chrome.ServiceBuilder(path).build();
chrome.setDefaultService(service);

var driver = new webdriver.Builder()
.withCapabilities(webdriver.Capabilities.chrome())
.build();
Run Code Online (Sandbox Code Playgroud)


Mig*_*fán 5

我想用我的命令下载 chromedriver,所以我从 npmnpm install安装chromedriver

npm install --save chromedriver

但后来我留下了如何设置路径的问题,最后我陷入了这个问题。

如果您也使用此方法,根据npm-chromedriver 文档,您可以执行以下操作

require('chromedriver');
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder()
  .forBrowser('chrome')
  .build();
Run Code Online (Sandbox Code Playgroud)

它确实按我的预期工作,请注意 chromedriver 不是通过将require结果分配给变量来导入的,而是按原样导入