При запуске 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