2013-05-18 3 views
0

Я пытаюсь запустить браузер Chrome (версия 26.0) с помощью webdriver. Я получаю следующее сообщение об ошибке.Запуск chrome browser

Exception in thread "main" java.lang.IllegalStateException: 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. 
    at com.google.common.base.Preconditions.checkState(Preconditions.java:176) 
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:105) 
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:69) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:107) 
    at googleSearch.main(googleSearch.java:13) 

Код я использовал:

driver = new ChromeDriver(); 
driver.navigate().to("http://www.google.com/"); 

Я использую макинтош 10.8.2.

+0

Вы уверены, что у вас есть '' '-Dwebdriver.chrome.driver = '/ path/to/driver'''' установлен правильно? – luksch

+0

Сообщение об ошибке сообщает о наличии проблемы с системным свойством _webdriver.chrome.driver_, а затем рекомендует для получения дополнительной информации см. Http://code.google.com/p/selenium/wiki/ChromeDriver_. Вы посмотрели это, и нашли ли вы что-нибудь полезное? –

ответ

5

Для этого, чтобы работать, вам нужно:

  1. Установка Chrome
  2. Установите Chrome Web Driver
  3. Убедитесь, что вы есть хром веб-водитель в вас пути, например, на Windows, то указывая на chromedriver2_win32_0.8. Вы можете поместить это на свой путь либо: (a) Изменение переменной среды пути Windows, или; (Б) добавление следующего к ява опция командной строки:
    -Dwebdriver.chrome.driver='/path/to/driver'

В случае использования селена сетки -Dwebdriver.chrome.driver='/path/to/driver' должен быть добавлено при создании узла из командной строки.

+1

Спасибо. Я пробовал все вышеперечисленное, но я все еще получаю следующую ошибку: Исключение в потоке «main» java.lang.IllegalStateException: исполняемого файла драйвера не существует: /Users/.../ Применения/chromedriver код я использовал: общественный класс GoogleSearch { \t статический драйвер WebDriver; \t государственной статической силы основных (String [] арг) { \t \t System.setProperty ("webdriver.chrome.driver",» /Users/.../Applications/chromedriver "); \t // WebDriver водитель = новый FirefoxDriver(); драйвер \t WebDriver = новый ChromeDriver(); \t driver.nav Игатский() к ("http://www.google.com/"). –

+0

Есть ли исполняемый файл в каталоге /Users/.../Applications/chromedriver? – Danger

+1

yes ... есть исполняемый файл chromedriver –

0

Для хром для работы с селеном-webdriver вам необходим не только рабочий хромированный браузер, но и исполняемый файл chromedriver. Обратите внимание, что это два разных исполняемых файла, которые необходимо указать.

+0

Спасибо. У меня есть как хром-браузер, так и хром-драйвер, устанавливаемый в систему и устанавливающий путь для одного и того же метода системных свойств. Но все еще не работает :( –

0

изменить разрешение файла, а затем снова запустить код. Откройте командную строка и перейдите в каталог, где хром EXE существует и написать

CHMOD 777 файла

Надеется, что это решит вашу проблему.

+0

Это не сработало. – alchemist

+0

По-прежнему такая же ошибка или что-то еще? –

+0

Еще одна ошибка. – alchemist

1

1) В случае использования селена без GRID:

System.setProperty("webdriver.chrome.driver","/absolute/path/to/chromedriver"); 
driver = new ChromeDriver(); 

делает работу.

2) В случае использования селена с GRID:

System.setProperty("webdriver.chrome.driver","/absolute/path/to/chromedriver"); 
driver = new ChromeDriver(); 

А из командной строки, при создании узла для хромированной браузера нужно передать

-Dwebdriver.chrome.driver='/absolute/path/to/chromedriver'

выше два изменения сделали эту работу для меня, кроме этого я получал эту ошибку libnss3.so, которую я решил, создав символическую ссылку libnss3.so, присутствующую в/usr/lib/x86_64-linux-gnu/folder t о/USR/Lib/

ln -s /usr/lib/x86_64-linux-gnu/libnss3.so /usr/lib/libnss3.so

PS: Также убедитесь, что вы используете 64 бит 32-битную версию драйвера хрома в соответствии с вашей системы.

Смежные вопросы