Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chrome和Selenium webdriver只允许本地连接_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

Chrome和Selenium webdriver只允许本地连接

Chrome和Selenium webdriver只允许本地连接,selenium,selenium-webdriver,selenium-chromedriver,Selenium,Selenium Webdriver,Selenium Chromedriver,我使用的是Chrome webdriver 2.23和Selenium 2.53.1。 我试了很多次,但都没能修好。每当我运行selenium脚本时,它都会给我以下错误 Starting ChromeDriver 2.23.409699 (49b0fa931cda1caad0ae15b7d1b68004acd05129) on port 12162 Only local connections are allowed. 这只是一条信息。您的问题可能是chromedriver和selenium

我使用的是Chrome webdriver 2.23和Selenium 2.53.1。 我试了很多次,但都没能修好。每当我运行selenium脚本时,它都会给我以下错误

Starting ChromeDriver 2.23.409699 (49b0fa931cda1caad0ae15b7d1b68004acd05129) on port 12162
Only local connections are allowed.

这只是一条信息。您的问题可能是chromedriver和selenium server standalone的版本不匹配

试试最新的selenium 3.0版,它对我很有用

请注意,对于selenium 3.0,您需要在selenium服务器之前和之后指定驱动程序

对于新的selenium,即3.0版,您应该使用:

java-Dwebdriver.chrome.driver=path_to_chrome_driver-jar selenium-server-standalone-3.0.0-beta2.jar 如果您使用的是低于3.0的selenium版本,则需要在驱动程序中颠倒selenium的顺序,如:

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

启动selenium服务器时,在chromedriver和selenium server目录中打开控制台,并执行上述命令。

我通过以下步骤解决了问题: A.升级至最新的chrome版本,清除缓存并关闭chrome浏览器 B下载最新的Selenium 3.0

  • 检查已安装的Chrome浏览器的版本

  • 从下载ChromeDriver的兼容版本

  • 将兼容ChromeDriver的位置设置为:

     System.setProperty("webdriver.chrome.driver", "C:\\Users\\your_path\\chromedriver.exe");
    
  • 再次运行测试


  • 现在应该很好了。

    这是一个工作堆栈:

    先前的一些说明:

    • 如果在非图形环境中运行selenium,则需要xvfb

    • 您需要selenium-server-standalone-2.53.1.jar(工作版本)。您可以在此处下载selenium版本:

    • 您还需要chromedriver v 2.27。下载链接:

    1) 运行sudo Xvfb:10-ac&

    2) 运行导出显示=: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”

    很抱歉发布得太晚,但仍需要了解更多信息,我也面临着同样的问题,因此我使用更新版的chromedriver ie.2.28更新浏览器ie.55至57,解决了我的问题。

    我遵循了我的第一次建议,它对我来说就像一块宝石:

    工作代码:

    1) 下载chromedriver

    2) 代码是

    C#:


    为我工作。

    我也收到了同样的问题。我通过更新chromedriver解决了这个问题。因此,如果任何人在使用chrome浏览器时遇到同样的问题,请更新您的chromedriver。

    我看到了这个错误

    Only local connections are allowed
    
    我更新了selenium webdriver和
    google chrome stable
    软件包

    webdriver-manager update
    zypper install google-chrome-stable
    
    此站点报告了chrome驱动程序的最新版本

    我的工作版本是chromedriver 2.41和google chrome stable 68,更新chromedriver和selenium版本后删除了此消息

    但是,这不是一个实际错误,只是一条信息性消息。
    即使打印了此消息,如果您的程序仍在最后传递退出代码0,则表示执行正常。

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

    当您运行此驱动程序时,它将允许您的脚本访问此驱动程序并在Google Chrome上运行命令

    Options --> Help --> About Google Chrome
    
    这可以通过在本地网络上运行的脚本(
    只允许本地连接。
    )或通过在外部网络上运行的脚本(
    允许所有远程连接。
    )完成。使用本地连接选项总是比较安全的。默认情况下,可以通过端口
    9515
    访问Chromedriver

    查看是否希望允许所有连接,而不仅仅是本地连接


    如果您的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浏览器版本

    $ chromedriver --version
    
    ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416})
    
    打开谷歌浏览器

    Options --> Help --> About Google Chrome
    

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

    我的版本是:版本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已成功启动”的行。

    $ 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
    
    您需要将
    --whitelisted ips=
    传递到chrome驱动程序中(不是chrome!)。如果您从代码中本地/直接使用ChromeDriver(而不是使用RemoteWebDriver),这应该不是您的问题

    如果远程使用它(如selenium hub/grid),则需要在节点启动时设置系统属性,如命令:

    java -Dwebdriver.chrome.whitelistedIps= testClass etc...
    
    或通过传递
    JAVA\u选项
    env

    chrome:
    图片:selenium/node chrome:3.141.59
    容器名称:chrome
    取决于:
    -硒轮毂
    环境:
    -集线器\主机=selenium集线器
    -集线器端口=4444
    -JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=
    
    能否请您指定准确的错误消息、浏览器版本详细信息,这些信息本身不是错误,
    java -Dwebdriver.chrome.whitelistedIps= testClass etc...