Установка и запуск Selenium под Windows

19.04.2016

Изрядно попотевши над установкой Selenium под Windows, оставлю свое решение здесь. Описываю для браузера Firefox, для других аналогично.

И так, для запуска селениума под виндой (8/10) выполняем следующие шаги:

1. Качаем сам Selenium ПОСЛЕДНЕЙ ВЕРСИИ (В секции Selenium Standalone Server напротив надписи Download version). Что может случиться, если версия старая:

Curl error thrown for http POST to /session with params: {"desiredCapabilities":{"browserName":"firefox","platform":"ANY"}}
Operation timed out after 30000 milliseconds with 0 bytes received

2. Качаем драйвер WebDriver для своего браузера. Т.к. я описываю действия для Firefox, идем и качаем драйвер для него. Находим секцию Windows и нажимаем на нее. Скачался файл wires-*-win.zip. Распаковываем архив и полученный файл переименовываем в wires.exe. Далее копируем его в папку с установленным браузером firefox.

Например: C:\Program Files (x86)\Mozilla Firefox\

Должно получиться так: C:\Program Files (x86)\Mozilla Firefox\wires.exe

Что может случиться если делать все без него:

Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:

3. Запуcкаем Selenium сервер. Для этого открываем cmd.exe (командную строку) и вставляем туда:

java -jar C:\Users\Downloads\selenium-server-standalone-2.53.0.jar -Dwebdriver.gecko.driver="C:/Program Files (x86)/Mozilla Firefox/wires.exe"

Вместо C:\Users\Downloads\selenium-server-standalone-2.53.0.jar указываем свой путь к скачанному Selenium.

Параметр -Dwebdriver.gecko.driver с указанием пути к драйверу обязателен, поэтому проверьте это еще раз. Если запустить без этого параметра, вы можете увидеть сообщение следующего вида (при этом ничего работать не будет):

The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information ...

Ну вот и все, при успешном старте сервера в консоли можно увидеть следующее:

C:\Users\Test>java -jar C:\Users\Test\Downloads\selenium-server-standalone
-2.53.0.jar
INFO - Launching a standalone Selenium Server
INFO - Java: Oracle Corporation 25.73-b02
INFO - OS: Windows 8.1 6.3 amd64
INFO - v2.53.0, with Core v2.53.0. Built from revision 35ae25b
INFO - Driver class not found: com.opera.core.systems.OperaDriver
INFO - Driver provider com.opera.core.systems.OperaDriver is not re
gistered
INFO - Driver provider org.openqa.selenium.safari.SafariDriver regi
stration is skipped:
registration capabilities Capabilities [{browserName=safari, version=, platform=
MAC}] does not match the current platform WIN8_1
INFO - Driver class not found: org.openqa.selenium.htmlunit.HtmlUni
tDriver
INFO - Driver provider org.openqa.selenium.htmlunit.HtmlUnitDriver
is not registered
INFO - RemoteWebDriver instances should connect to: https://127.0.0.
1:4444/wd/hub
INFO - Selenium Server is up and running

Далее не закрывая окна командной строки можно работать с селениумом.

Пример работы для PHP (facebook/webdriver):

$host = 'https://127.0.0.1:4444/wd/hub';
$capabilities = \DesiredCapabilities::firefox();
$capabilities->setCapability('marionette', true);

$driver = \RemoteWebDriver::create($host, $capabilities, 10000, 10000);
$driver->get('https://www.google.com');

print_r($driver->getPageSource());
$driver->quit();

Вот и все.

comments powered by HyperComments