При запуске WebDriver с браузером Chrome, получая сообщение, разрешены только локальные подключения, даже если браузер запускается правильно

Когда я запускаю браузер Chrome с помощью WebDriver, я получаю следующее сообщение на консоли. Пожалуйста, дайте мне знать, как его решить.

"Запуск ChromeDriver (v2.10.267521) на порт 22582" "Только локальный соединения разрешены."

Вот мой пример кода:

public class Browserlaunch {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32   \\chromedriver.exe");
        WebDriver driver = new ChromeDriver() ;
        driver.get("http://webdunia.com");
        driver.close();
        driver.quit();
    }
}

Ответ 1

Это информационное сообщение. То, что сообщение сообщает вам, заключается в том, что исполняемый файл chromedriver будет принимать соединения только с локальной машины.

Вы видите, что большинство версий драйверов (драйвер Chrome и IE-драйвер наверняка) создают HTTP-сервер, а языковые привязки (Java, Python, Ruby,.NET и т.д.) используют JSON-over-HTTP протокол для связи с драйвером и автоматизация браузера. Естественно, поскольку HTTP-сервер просто прослушивает открытый порт для HTTP-запросов, сгенерированных языковыми связями, подключения к HTTP-серверу, запущенные языковыми связями, ограничиваются только разрешенным доступом от других процессов на одном и том же хосте. Обратите внимание, что это ограничение не применяется к соединениям, которые браузер может сделать для внешних веб-сайтов; скорее, это просто предотвращает входящие соединения с других сайтов.

Ответ 2

Я получал точно такие же ошибки. Я сражался с этим вопросом в течение нескольких часов сегодня. Это, по-видимому, было вызвано несоответствием между версиями хромирования и селена-сервера-автономными. Файл config.js ссылался на каталог с хроническим решетом 2.9 и селен-сервер-автономный 2.35.0. Как только я убедился, что мы ссылаемся на 2.10 и 2.42.2, он работал.

Ответ 3

Это происходило со мной, когда мне приходилось исправлять старый проект, который не рассматривался в то время. Хромидра, связанная с проектом, несовместима с моей версией хром, поэтому, когда я обновлял хромированный рекордер, он работал нормально.

Ответ 4

Не обязательно лучшая практика, но моя среда была локальной сетью с несколькими машинами, которые нуждались в доступе к селену.

При запуске хронографа вы можете пройти через такой параметр:

chromedriver --whitelisted-ips=""

В основном это белый список всех IP-адресов, не всегда идеальное решение, конечно, и будьте осторожны с ним для производственных условий, но вам должно быть представлено подробное предупреждение:

Запуск ChromeDriver 2.16.333244 (15fb740a49ab3660b8f8d496cfab2e4d37c7e6ca) на порту 9515 Все удаленные соединения разрешены. Вместо этого используйте белый список.

Обход в лучшем случае, но он работает.

Относительная регистрация

Ответ 5

Это информационное сообщение. Это ничего не значит, если ваши тестовые скрипты и хромированные указатели находятся на одной машине, тогда можно добавить опцию "whitelisted-ips". Ваш тест будет работать нормально. Однако, если вы используете хромированную передачу в настройке сетки, это сообщение не появится

Ответ 6

Мне пришлось запускать мои команды в терминале один и тот же, но не отдельно.

nohup sudo Xvfb :10 -ac
export DISPLAY=:10
java -jar vendor/se/selenium-server-standalone/bin/selenium-server-standalone.jar -Dwebdriver.chrome.bin="/usr/bin/google-chrome" -Dwebdriver.chrome.driver="vendor/bin/chromedriver"

Ответ 7

Очень часто эта ошибка появляется, если вы используете несовместимые версии Selenium и ChromeDriver.

Selenium 3.0.1 для проекта Maven:

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.0.1</version>
    </dependency>

ChromeDriver 2.27: https://sites.google.com/a/chromium.org/chromedriver/downloads