我正在使用Chrome webdriver 2.23&硒2.53.1 我已经尝试了很多,但无法解决这个问题,每当我运行我的selenium脚本时它会给我错误
Starting ChromeDriver 2.23.409699 (49b0fa931cda1caad0ae15b7d1b68004acd05129) on port 12162
Only local connections are allowed.
答案 0 :(得分:10)
这只是一条信息性消息。您的问题可能是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的硒版本,则需要使用驱动程序颠倒硒的顺序,例如:
java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar selenium_server.jar
当你启动selenium服务器时,在chromedriver和selenium服务器的目录中打开一个控制台并执行上面的命令。
答案 1 :(得分:6)
这是一个工作堆栈:
之前的一些说明:
如果您在非图形环境中运行selenium,则需要 xvfb 。
您需要selenium-server-standalone-2.53.1.jar(工作版)。您可以在此处下载selenium版本:http://selenium-release.storage.googleapis.com/index.html
您还需要chromedriver v 2.27。下载链接:https://chromedriver.storage.googleapis.com/index.html
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 “强>
答案 2 :(得分:4)
检查已安装的Chrome浏览器的版本。
从
下载兼容版ChromeDriver将兼容的ChromeDriver的位置设置为:
System.setProperty("webdriver.chrome.driver", "C:\\Users\\your_path\\chromedriver.exe");
再次运行测试。
现在应该很好。
答案 3 :(得分:3)
首先,您看到的不是错误。这是一条参考消息。
运行该驱动程序时,它将使您的脚本能够访问该驱动程序并在Google Chrome上运行命令。
这可以通过在本地网络中运行的脚本(Only local connections are allowed.
)或通过在外部网络中运行的脚本(All remote connections are allowed.
)来完成。使用“本地连接”选项总是更安全。默认情况下,您可以通过端口9515
访问Chromedriver。
如果您希望允许所有连接而不只是本地连接,请参见this answer。
如果您的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
下载与您的浏览器版本匹配的正确版本。使用this page for downloads。下载后,解压缩内容,并将其移动到以下两个文件夹之一。打开以下两个文件夹,然后查看是否有当前的Chromedriver。如果在两个文件夹中,请同时替换两者。然后再次执行步骤3。
/usr/bin/chromedriver
/usr/local/bin/chromedriver
答案 4 :(得分:2)
我遵循了我的建议,它对我来说就像一块宝石:
工作代码:
1)下载了chromedriver。
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();
}
}
答案 5 :(得分:2)
对我来说,更新 chromedriver 和硒 版本会删除此消息。
但是,这不是实际错误,只是参考消息。
如果即使打印此消息,您的程序仍在末尾传递exit code 0
,则表示执行正常。
答案 6 :(得分:1)
我可以通过以下步骤解决问题: 一个。升级到最新的chrome版本,清除缓存并关闭chrome浏览器 湾下载最新的Selenium 3.0
答案 7 :(得分: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);
为我工作。
答案 8 :(得分:0)
很抱歉迟到的帖子,但仍然有信息,我也面临同样的问题,所以我使用更新版本的chromedriver ie.2.28更新的Chrome浏览器即。 55到57解决了我的问题。
答案 9 :(得分:0)
我也遇到了同样的问题。我通过更新chromedriver解决了这个问题。因此,如果任何人面临与Chrome浏览器相同的问题,只需更新您的chromedriver。
答案 10 :(得分:0)
我看到了这个错误
Only local connections are allowed
我同时更新了硒Web驱动程序和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
答案 11 :(得分:0)
您需要将--whitelisted-ips=
传递给 chrome驱动程序(不是chrome!)。如果您通过代码在本地/直接使用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=