37

I am using Chrome webdriver 2.23 & Selenium 2.53.1. I have tried a lot, but could not get it fixed. Whenever I run my selenium script, it is giving me the following error

Starting ChromeDriver 2.23.409699 (49b0fa931cda1caad0ae15b7d1b68004acd05129) on port 12162
Only local connections are allowed.
Keet Sugathadasa
  • 11,595
  • 6
  • 65
  • 80
Sanwal Riaz
  • 371
  • 1
  • 3
  • 3
  • Can you please specify the Exact error message, browser version details – Siva Aug 09 '16 at 08:56
  • 3
    That _by itself_ is **not** an error, even though it may be red. It is just an informational message to tell you that based on the configuration the Selenium WebDriver will only accept connections from localhost. – David Avendasora Aug 04 '17 at 18:29
  • Possible duplicate of [When running WebDriver with Chrome browser, getting message, "Only local connections are allowed" even though browser launches properly](https://stackoverflow.com/questions/25080500/when-running-webdriver-with-chrome-browser-getting-message-only-local-connect) – cellepo Feb 22 '19 at 02:30

12 Answers12

15

This is just an informational message. Your issue might be a missmatch between the versions of chromedriver and selenium-server-standalone.

Try with the latest selenium version 3.0, it is working for me.

Please not that for selenium 3.0 you need to specify the driver first and after the selenium server.

With the new selenium, which is 3.0 you should use:

java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar selenium-server-standalone-3.0.0-beta2.jar If you are using selenium version below 3.0 you need to reverse the order of selenium with the driver, like:

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

When you are starting the selenium server, open a console in the directory with chromedriver and selenium server and execute the above command.

lauda
  • 4,153
  • 2
  • 14
  • 28
  • 1
    At which place do I need to use this command java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar selenium-server-standalone-3.0.0-beta2.jar Can you please explain. Thanks in advance – Sanwal Riaz Aug 10 '16 at 14:23
  • Thanks, this helped. It was a version mismatch for my case :) – sykez Feb 20 '20 at 16:02
8

Here you are a working stack:

Some previous notes:

1) Run sudo Xvfb :10 -ac &

2) Run export DISPLAY=:10

3) Run 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"

Samuel Vicent
  • 991
  • 10
  • 16
7

First off, What you are seeing is not an error. It is an informational message.

When you run this driver, it will enable your scripts to access this and run commands on Google Chrome.

This can be done via scripts running in the local network (Only local connections are allowed.) or via scripts running on outside networks (All remote connections are allowed.). It is always safer to use the Local Connection option. By default your Chromedriver is accessible via port 9515.

See this answer if you wish to allow all connections instead of just local.


If your Chromedriver only shows the above two messages (as per the question), then there is a problem. It has to show a message like this, which says it started successfully.

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.

To troubleshoot this...

Step 1: Check your Chromedriver version

$ chromedriver --version

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

My version is 83.0.4103.39.

Step 2: Check your Chrome Browser version

Open Google Chrome.

Options --> Help --> About Google Chrome

enter image description here

Or open a terminal and run the following command (works on Ubuntu).

$ google-chrome --version

Google Chrome 83.0.4103.61

My version is: Version 83.0.4103.61

Step 3: Compare versions of Chromedriver and Google Chrome

Both these versions are starting with 83, which means they are both compatible. Hence, you should see a message like below, when you run the below command.

$ 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. 

If your versions mismatch, then you will see the following message. You will not see the line which says, 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.

Step 4: Download the correct version of Chromedriver

Download the correct version that matches your browser version. Use this page for downloads. After you download, extract the content, and move it to one of the following two folders. Open each of the following two folders and see whether your current Chromedriver is there. If it is on both folders, replace both. And do STEP 3 again.

/usr/bin/chromedriver
/usr/local/bin/chromedriver
Keet Sugathadasa
  • 11,595
  • 6
  • 65
  • 80
6
  1. Check the version of your installed Chrome browser.

  2. Download the compatible version of ChromeDriver from

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

  3. Set the location of the compatible ChromeDriver to:

     System.setProperty("webdriver.chrome.driver", "C:\\Users\\your_path\\chromedriver.exe");
    
  4. Run the Test again.

It should be good now.

Community
  • 1
  • 1
4

You need to pass --whitelisted-ips= into chrome driver (not chrome!). If you use ChromeDriver locally/directly (not using RemoteWebDriver) from code, it shouldn't be your problem.

If you use it remotely (eg. selenium hub/grid) you need to set system property when node starts, like in command:

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

or docker by passing 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=
GetoX
  • 4,225
  • 2
  • 33
  • 30
2

I followed my frnd suggestion and it worked like a gem for me:

Working Code:

1) Downloaded chromedriver.

2) Code is

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();

  }
}
ndnenkov
  • 35,425
  • 9
  • 72
  • 104
M S
  • 21
  • 2
1

I was able to resolve the problem by following steps: a. upgrade to the latest chrome version, clear the cache and close the chrome browser b. Download latest Selenium 3.0

Meg-90
  • 259
  • 2
  • 8
1

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);

Worked for me.

1

For me, updating the chromedriver and selenium version removed this message.

However, this is not an actual error and just an informational message. If your program is still passing with exit code 0 at the end even when this message is printed, it means the execution went fine.

Spriha
  • 107
  • 6
0

Sorry for late post but still for info,I also facing same problem so I Used updated version of chromedriver ie.2.28 for updated chrome browser ie. 55 to 57 which resolved my problem.

Sohan
  • 1
  • 1
0

I was also getting the same issue. I resolved this issue by updating the chromedriver. So if anyone is facing same issue with chrome browser just update your chromedriver.

Ramesh
  • 1
0

I saw this error

Only local connections are allowed

And I updated both the selenium webdriver, and the google-chrome-stable package

webdriver-manager update
zypper install google-chrome-stable

This site reports the latest version of the chrome driver https://sites.google.com/a/chromium.org/chromedriver/

My working versions are chromedriver 2.41 and google-chrome-stable 68

activedecay
  • 10,129
  • 5
  • 47
  • 71