2016-04-04 2 views
3

Ich verwende Knoten 5.10.0 unter Linux. Nachdem einige Probleme mein Skript ausgeführt wird, die unternode.js beschwert sich, dass "der ChromeDriver nicht auf dem aktuellen PATH gefunden werden konnte", obwohl sich chromedriver auf dem Pfad befindet

[[email protected] mydir]$ node SkyNet.js 
Validation Complete 
/home/davea/node_modules/selenium-webdriver/chrome.js:185 
     throw Error(
    ^

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 (native) 
    at new ServiceBuilder (/home/davea/node_modules/selenium-webdriver/chrome.js:185:13) 
    at getDefaultService (/home/davea/node_modules/selenium-webdriver/chrome.js:362:22) 
    at Driver (/home/davea/node_modules/selenium-webdriver/chrome.js:771:34) 
    at Builder.build (/home/davea/node_modules/selenium-webdriver/builder.js:464:16) 
    at Object.<anonymous> (/home/davea/mydir/js/Optimus.js:14:4) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 
    at Function.Module._load (module.js:314:12) 

Es sagt chromedriver angezeigt wird, ist nicht auf meinem Weg, aber ich gerade heruntergeladen die entsprechende Version von hier - http://chromedriver.storage.googleapis.com/index.html?path=2.9/, und wie man sehen kann, ist es auf mein PATH

[[email protected] mydir]$ echo $PATH 
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/davea/bin:/home/davea/bin:/usr/lib/chromedriver 

mit den folgenden Berechtigungen ...

[[email protected] mydir]$ ls -al /usr/lib/chromedriver 
-rwxr-xr-x 1 davea evotext 5503600 Feb 3 2014 /usr/lib/chromedriver 

so bin ich verwirrt, warum ich diesen Fehler bin immer. Jede Hilfe wird geschätzt, - Dave

Antwort

1

Ich hatte das gleiche Problem. Ich habe es gelöst, indem ich den Weg vom chromedriver Paket genommen habe.

Hier ist mein Code:

import webdriver from 'selenium-webdriver'; 
import chrome from 'selenium-webdriver/chrome'; 
import chromedriver from 'chromedriver'; 

chrome.setDefaultService(new chrome.ServiceBuilder(chromedriver.path).build()); 

var driver = new webdriver.Builder() 
       .withCapabilities(webdriver.Capabilities.chrome()) 
       .build(); 

, die auf dem Code von dieser Antwort basiert: Passing require('chromedriver).path directly to selenium-webdriver

0

Antwort Niels hinzuzufügen, für die Verwendung von Babel nicht

  1. Erste Installieren Sie das verchromte Laufwerk mit npm. Wenn Sie global Installation gewährleisten zu Knoten Pakete in Ihrem Pfad
npm install -g chromedriver 

Wenn PATH Fehler bestehen bleiben, nur speichern Sie es auf dem lokalen Projektabhängigkeiten

npm install --save chromedriver 
    let webdriver = require('selenium-webdriver'); let chrome = require('selenium-webdriver/chrome'); let chromedriver = require('chromedriver'); chrome.setDefaultService(new chrome.ServiceBuilder(chromedriver.path).build());
Verwandte Themen