Исключение WebDriver: невозможно найти обработчик для (POST) / wd / hub / session - PullRequest
1 голос
/ 23 января 2020

Google Chrome 79.0.3945.130 ChromeDriver 79.0.3945.36 Селен-сервер-4.0.0-альфа-4.jar Новейший код из php -webdriver GitHub от 1/22/2020

Я запускаю сервер Selenium в автономном режиме на локальном хосте, используя Xfvb как таковой:

$ Xvfb :99 -screen 5 1920x1080x8 &
$ export DISPLAY=:99
$ java -Dwebdriver.chrome.driver="./chromedriver" -jar selenium-server-4.0.0-alpha-4.jar standalone

У меня есть вспомогательный класс test, который запускает все в коде PHP:

    1 final public static function createWebDriver() {
    2   $options = new ChromeOptions();
    3   $options->addArguments(array('--window-size=1920,1080'));
    4   $caps= DesiredCapabilities::chrome();
    5   $caps->setCapability(ChromeOptions::CAPABILITY, $options);
    6   $driver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $caps);
    7   $driver->manage()->window()->maximize();
    8   return $driver;
    9}

Когда я запускаю тест и вызываю функцию RemoteWebDriver :: create (), он выдает исключение:

Facebook \ WebDriver \ Exception \ UnknownCommandException: невозможно найти обработчик для (POST) / wd / hub / session / home / me / UnitTest / vendor / facebook / webdriver / lib / Exception / WebDriverException. php: 137 /home/me/UnitTest/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:380 / home / me / UnitTest / vendor / facebook / webdriver / lib / Remote / RemoteWebDriver. php: 136 / var / www/html/project/core/functions/SeleniumTestHelper.php: 6

Строка, которая является проблемой: $ driver = RemoteWebDriver :: create ('http://localhost: 4444 / wd / hub ', $ caps);

Я подтверждаю с помощью netstat, что слушаю все адреса на порт 4444 Я не могу найти каталог с именем "hub" на моей машине. Я не уверен, почему это не работает, и кажется, что для меня нет больше информации, чем это исключение для go.

1 Ответ

1 голос
/ 03 февраля 2020

andrewnichols помогли мне на GitHub! Вот его ответ. Большое ему спасибо. Я поделюсь ответом здесь для любого, кто сталкивается с этим вопросом.

Привет @ JoeyofBladez,

Selenium 4 изменяет URL. Это больше не позади / WD / Hub. Ошибка правильная. Он не знает, что означает / wd / hub / session. Новый URL-адрес - http://localhost: 4444 , что делает URL-адрес нового сеанса http://localhost: 4444 / сеанс .

. Вы можете просмотреть статус в http://localhost: 4444 / статус

...