我想要能够通过远程打开 chrome 浏览器进入 url 的解决方案。
我决定使用以下内容:
-
Selenium server3.141.59 与 Java 1.8.321
-
chromedriver.exe 107
一个奇怪的问题:
“只允许本地连接。”
在cmd中运行“chromedriver.exe --verbose --whitelisted-ips=''”
“白名单允许远程连接<''>”这似乎有效,但我无法弄清楚我在代码中怎么使用
直接加参数addArguments("--whitelisted-ips=''");
都是错误的。这个参数需要注入 chromedriver exe,而不是 chrome。
如果直接从代码本地使用 ChromeDriver,只需在 ChromeDriver init 之前插入以下行
System.setProperty("webdriver.chrome.whitelistedIps", "");
如果远程使用它(例如 Selenium 集线器/网格),您需要在节点运行时像在命令中一样设置系统属性:
java -Dwebdriver.chrome.whitelistedIps"" -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.141.59.jar -port 4446 -role node -hub http://192.168.0.76:4444/grid/register -maxSession 5 -browser "browserName=chrome, version=89.0.4389.90, maxInstances=5, platform=WINDOWS"
或 docker 通过传递 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=