Chrome和Selenium webdriver只允许本地连接

San*_*iaz 23 selenium selenium-chromedriver selenium-webdriver

我正在使用Chrome webdriver 2.23和Selenium 2.53.1我已经尝试了很多但是无法解决这个问题,每当我运行我的selenium脚本时它会给我错误

在端口12162上启动ChromeDriver 2.23.409699(49b0fa931cda1caad0ae15b7d1b68004acd05129)仅允许本地连接.

lau*_*uda 10

这只是一条信息性消息.您的问题可能是chromedriver和selenium-server-standalone版本之间的不匹配.

尝试使用最新的selenium 3.0版,它对我有用.

请注意,对于selenium 3.0,您需要先指定驱动程序,然后再指定selenium服务器.

使用3.0的新硒,你应该使用:

java的-Dwebdriver.chrome.driver = path_to_chrome_driver罐子硒的服务器独立-3.0.0-beta2.jar如果使用低于3.0版本的硒,你需要扭转硒的顺序与司机,如:

java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar selenium_server.jar
Run Code Online (Sandbox Code Playgroud)

当您启动selenium服务器时,在chromedriver和selenium服务器的目录中打开一个控制台并执行上述命令.


Sam*_*ent 7

在这里你是一个工作堆栈:

以前的一些说明:

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"


小智 6

  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");
    
    Run Code Online (Sandbox Code Playgroud)
  4. 再次运行测试。

现在应该好了。


Kee*_*asa 6

首先,您所看到的不是错误。这是一条信息性消息。

当您运行此驱动程序时,它将使您的脚本能够访问它并在 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.
Run Code Online (Sandbox Code Playgroud)

要解决此问题...

第 1 步:检查您的 Chromedriver 版本

$ chromedriver --version

ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416})
Run Code Online (Sandbox Code Playgroud)

我的版本是83.0.4103.39.

第 2 步:检查您的 Chrome 浏览器版本

打开谷歌浏览器。

Options --> Help --> About Google Chrome
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

或者打开终端并运行以下命令(适用于 Ubuntu)。

$ google-chrome --version

Google Chrome 83.0.4103.61
Run Code Online (Sandbox Code Playgroud)

我的版本是:版本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. 
Run Code Online (Sandbox Code Playgroud)

如果您的版本不匹配,那么您将看到以下消息。您将不会看到说,的行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.
Run Code Online (Sandbox Code Playgroud)

第 4 步:下载正确版本的 Chromedriver

下载与您的浏览器版本匹配的正确版本。使用此页面进行下载。下载后,解压缩内容,并将其移动到以下两个文件夹之一。打开以下两个文件夹中的每一个,看看您当前的 Chromedriver 是否在那里。如果它在两个文件夹中,请替换两者。并再次执行第 3 步。

/usr/bin/chromedriver
/usr/local/bin/chromedriver
Run Code Online (Sandbox Code Playgroud)