Разрешены только локальные соединения Chrome & Selenium webdriver

Я использую Chrome WebDriver 2.23 и Selenium 2.53.1. Я много пробовал, но не смог решить эту проблему: всякий раз, когда я запускаю свой скрипт selenium, он выдает ошибку

Запуск ChromeDriver 2.23.409699 (49b0fa931cda1caad0ae15b7d1b68004acd05129) через порт 12162 Разрешены только локальные подключения.

10 ответов

Это просто информационное сообщение. Ваша проблема может быть в несоответствии между версиями chromedriver и selenium-server-standalone.

Попробуйте с последней версией Селена 3.0, у меня это работает.

Пожалуйста, обратите внимание, что для Селена 3.0 вам необходимо указать драйвер сначала, а после сервера селен.

С новым селеном, который составляет 3,0, вы должны использовать:

java -Dwebdriver.chrome.driver = path_to_chrome_driver -jar selenium-server-standalone-3.0.0-beta2.jar Если вы используете версию selenium ниже 3.0, вам нужно изменить порядок селена с помощью драйвера, например:

java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar selenium_server.jar

Когда вы запускаете сервер selenium, откройте консоль в каталоге с chromedriver и сервером selenium и выполните приведенную выше команду.

Вот вам рабочий стек:

Некоторые предыдущие заметки:

1) Запустите sudo Xvfb: 10 -ac &

2) Запустите экспорт DISPLAY =: 10

3) Запустите java -jar "YOUR_PATH_TO/selenium-server-standalone-2.53.1.jar" -Dwebdriver.chrome.driver="YOUR_PATH_TO/chromedriver.2.27" -Dwebdriver.chrome.whitelistedIps="localhost"

Во-первых, то, что вы видите, не является ошибкой. Это информационное сообщение.

Когда вы запустите этот драйвер, он позволит вашим скриптам получить к нему доступ и выполнять команды в Google Chrome.

Это можно сделать с помощью скриптов, запущенных в локальной сети (Only local connections are allowed.) или через скрипты, запущенные во внешних сетях (All remote connections are allowed.). Всегда безопаснее использовать параметр "Локальное подключение". По умолчанию ваш Chromedriver доступен через порт9515.

См. Этот ответ, если вы хотите разрешить все подключения, а не только локальные.


Если ваш Chromedriver показывает только два вышеупомянутых сообщения (согласно вопросу), значит, проблема. Он должен показать подобное сообщение, в котором говорится, что он успешно запущен.

Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.

Чтобы устранить эту проблему...

Шаг 1. Проверьте версию Chromedriver

$ chromedriver --version

ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416})

Моя версия 83.0.4103.39.

Шаг 2. Проверьте версию своего браузера Chrome

Откройте Google Chrome.

Options --> Help --> About Google Chrome

Или откройте терминал и выполните следующую команду (работает в Ubuntu).

$ google-chrome --version

Google Chrome 83.0.4103.61

Моя версия: Версия 83.0.4103.61

Шаг 3. Сравните версии Chromedriver и Google Chrome

Обе эти версии начинаются с 83, что означает, что они обе совместимы. Следовательно, при выполнении приведенной ниже команды вы должны увидеть сообщение, подобное приведенному ниже.

$ chromedriver 

Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully. 

Если ваши версии не совпадают, вы увидите следующее сообщение. Вы не увидите строки, в которой говорится:ChromeDriver was started successfully..

$ chromedriver

Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 9515
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

Шаг 4. Загрузите правильную версию Chromedriver.

Загрузите правильную версию, соответствующую версии вашего браузера. Используйте эту страницу для загрузок. После загрузки извлеките содержимое и переместите его в одну из следующих двух папок. Откройте каждую из следующих двух папок и посмотрите, есть ли там ваш текущий Chromedriver. Если он есть в обеих папках, замените обе. И повторите ШАГ 3 снова.

/usr/bin/chromedriver
/usr/local/bin/chromedriver
  1. Проверьте версию установленного браузера Chrome.

  2. Загрузите совместимую версию ChromeDriver с

    https://sites.google.com/a/chromium.org/chromedriver/

  3. Установите местоположение совместимого ChromeDriver в:

    System.setProperty("webdriver.chrome.driver", "C:\\Users\\your_path\\chromedriver.exe");
    
  4. Запустите тест снова.

Это должно быть хорошо сейчас.

Вам нужно пройти --whitelisted-ips=в хромированный драйвер (не в хром!). Если вы используете ChromeDriver локально / напрямую (без RemoteWebDriver) из кода, это не должно быть вашей проблемой.

Если вы используете его удаленно (например, selenium hub / grid), вам нужно установить системное свойство при запуске узла, как в команде:

java -Dwebdriver.chrome.whitelistedIps= testClass etc...

или докер, пройдя JAVA_OPTS env

  chrome:
    image: selenium/node-chrome:3.141.59
    container_name: chrome
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
      - JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=

Я последовал моему предложению frnd, и оно сработало для меня:

Рабочий код:

1) Скачанный хромедрайвер.

2) код

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

public class Sel {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.setProperty("webdriver.chrome.driver", "C:\\Users\\Downloads\\chromedriver_win32\\chromedriver.exe"); // path of chromedriver 
    WebDriver driver = new ChromeDriver();

      driver.get("https://google.ca");
      driver.manage().window().maximize();
      driver.getTitle();

  }
}

Для меня обновление версии chromedriver и selenium удалило это сообщение.

Однако это не фактическая ошибка, а просто информационное сообщение. Если ваша программа все еще проходит с exit code 0 в конце, даже если это сообщение напечатано, это означает, что выполнение прошло нормально.

Я смог решить проблему, выполнив следующие действия: a. обновить до последней версии Chrome, очистить кэш и закрыть браузер Chrome. b. Скачать последнюю версию Selenium 3.0

C#:

    ChromeOptions options = new ChromeOptions();

    options.AddArgument("C:/Users/username/Documents/Visual Studio 2012/Projects/Interaris.Test/Interaris.Tes/bin/Debug/chromedriver.exe");

    ChromeDriver chrome = new ChromeDriver(options);

Работал на меня.

Я видел эту ошибку

Only local connections are allowed

И я обновил и селен вебдрайвер, и google-chrome-stable пакет

webdriver-manager update
zypper install google-chrome-stable

Этот сайт сообщает о последней версии драйвера Chrome https://sites.google.com/a/chromium.org/chromedriver/

Мои рабочие версии - chromedriver 2.41 и google-chrome-stable 68.

Извините за поздний пост, но все же за информацию, я также столкнулся с той же проблемой, поэтому я использовал обновленную версию chromedriver ie.2.28 для обновленного браузера Chrome т.е. 55 на 57, который решил мою проблему.

Я также получил ту же проблему. Я решил эту проблему, обновив хромедрайвер. Так что, если кто-то сталкивается с той же проблемой в браузере Chrome, просто обновите ваш chromedriver.

Другие вопросы по тегам