Erreur: Le chemin d'accès au pilote de l'exécutable doit être définie par le webdriver.le chrome.pilote du système de la propriété
Je suis en train node.js le sélénium web pilote exemple...
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
usingServer('http://localhost:4444/wd/hub').
withCapabilities(webdriver.Capabilities.chrome()).
build();
driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title === 'webdriver - Google Search';
});
}, 1000);
driver.quit();
... mais a reçu l'erreur
promise.js:1542
throw error;
^
UnknownError: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://code.google.com/p/chromedriver/downloads/list
at new bot.Error (/Users/maks/Dropbox/nodeApps/orgi/node_modules/selenium-webdriver/lib/atoms/error.js:109:18)
Je deviné pour définir la variable de CHEMIN d'accès:
$ cat .bashrc
export PATH=$PATH:/usr/local/git/bin/
export PATH=$PATH:~/bin
export PATH=$PATH:~/Dropbox/chromedriver
Et le redémarrage de la console, mais j'ai reçu le même message d'erreur.
- J'ai eu à utiliser Firefox pour obtenir à la fin des tests sur Linux à l'aide du Rapporteur.
Vous devez vous connecter pour publier un commentaire.
À l'aide de sélénium-serveur-autonome-*.pot de ici, vous pouvez passer
webdriver.chrome.driver
propriété lors du lancement d'elle de la sorte:Cela élimine l'erreur; Java option de ligne de commande
-Dproperty=value
définit un système de la valeur de la propriété comme prévu.Juste au cas où quelqu'un l'obtention de cette erreur :
ce fil pourraient vous aider :
Utiliser les Paramètres avant de les fichier jar
De sorte que votre commande doit être:
Espère que cela aide quelqu'un dans le futur.
Si vous ne souhaitez pas utiliser le sélénium serveur, mais veulent juste utiliser le chromedriver directement, quelque chose comme cela fonctionne:
Ce n'est pas très bien documenté, j'ai dû fouiller dans le code source un peu.
chrome.Options()
?La solution la plus simple que j'ai trouvé est de faire de la chromedriver fichier exécutable.
Incorrect:
Correct:
Une fois chromedriver appariés phantomjs il est revenu à la vie
Vous pouvez utiliser le code suivant pour définir le chemin d'accès à votre code
Chemin pour être mentionnée sur le devis.