主机 header 或原点 header 已指定且不是 selenium 网格的本地主机
Host header or origin header is specified and is not localhost for selenium grid
我正在尝试使用最新的 chrome 和 chromedriver 设置硒网格。我在尝试 运行 测试
时收到以下错误
Message: OpenQA.Selenium.WebDriverException : Unexpected error. Host header or origin header is specified and is not localhost.
在节点机器上,我看到 chrome 浏览器打开,但它立即关闭,我得到这个错误:
[1557513678.682][SEVERE]: Rejecting request with host: <hub_IP_address>:4444
有没有人在使用 selenium 网格时遇到过这个问题?我正在使用:
- selenium-server-standalone-4.0.0-alpha-1.jar 和
- Chromedriver 74.0.3729.6 对于 windows
- 我的 Chrome 浏览器是 运行ning v.74.0.3729.108
- JDK 12.0.1.0
这是我启动集线器的命令:
java -jar selenium-server-standalone-4.0.0-alpha-1.jar -role hub -hubConfig config.json
这是我启动节点的命令:
java -Dwebdriver.chrome.driver="C:\...\Browsers\ChromeDirectory\chromedriver.exe" -Dwebdriver.ie.driver="C:\...\Browsers\IEDirectory\x86\IEDriverServer.exe" -jar -Dwebdriver.edge.driver="C:\...\Browsers\Edge\MicrosoftWebDriver.exe" -jar "C:\...\selenium-server-standalone-4.0.0-alpha-1.jar" -role node -hub "http://<hub_IP_address>:4444/grid/register/" -nodeConfig "C:\...\config.json"
我尝试在 config.jsons 中使用 "host" 属性。我试着把实际的 IP 地址和本地主机。但是集线器和节点显然是不同的机器,所以把本地主机让他们无法连接。但是当我没有本地主机时,它说需要指定为本地主机?我很混乱!!主机 属性 中应该包含什么?
我看到人们谈论量角器的环回 属性,但我没有使用量角器。我尝试将 "loopback":true 放入我的节点和集线器 config.json 文件中,但它似乎没有什么不同。
更新:
我能够使用集线器的 4.0 alpha jar 和节点的旧 3.8 jar 成功地将网格设置为 运行。 All Still on Java 8. 有点意思。
通过降级到 3.8.1 selenium grid jar 并安装 JDK 8 而不是 12,我能够让 selenium grid 工作。我需要获得 java 8 的原因在this other question。我使用相同的 chrome 驱动程序和启动命令
您可以尝试添加这些开关:--whitelisted-ips --allowed-origins=''*
尝试使用命令 运行 您的节点:
java -Dwebdriver.chrome.driver="C:\...\Browsers\ChromeDirectory\chromedriver.exe --whitelisted-ips --allowed-origins='*'" -Dwebdriver.ie.driver="C:\...\Browsers\IEDirectory\x86\IEDriverServer.exe" -jar -Dwebdriver.edge.driver="C:\...\Browsers\Edge\MicrosoftWebDriver.exe" -jar "C:\...\selenium-server-standalone-4.0.0-alpha-1.jar" -role node -hub "http://<hub_IP_address>:4444/grid/register/" -nodeConfig "C:\...\config.json"
我正在尝试使用最新的 chrome 和 chromedriver 设置硒网格。我在尝试 运行 测试
时收到以下错误Message: OpenQA.Selenium.WebDriverException : Unexpected error. Host header or origin header is specified and is not localhost.
在节点机器上,我看到 chrome 浏览器打开,但它立即关闭,我得到这个错误:
[1557513678.682][SEVERE]: Rejecting request with host: <hub_IP_address>:4444
有没有人在使用 selenium 网格时遇到过这个问题?我正在使用:
- selenium-server-standalone-4.0.0-alpha-1.jar 和
- Chromedriver 74.0.3729.6 对于 windows
- 我的 Chrome 浏览器是 运行ning v.74.0.3729.108
- JDK 12.0.1.0
这是我启动集线器的命令:
java -jar selenium-server-standalone-4.0.0-alpha-1.jar -role hub -hubConfig config.json
这是我启动节点的命令:
java -Dwebdriver.chrome.driver="C:\...\Browsers\ChromeDirectory\chromedriver.exe" -Dwebdriver.ie.driver="C:\...\Browsers\IEDirectory\x86\IEDriverServer.exe" -jar -Dwebdriver.edge.driver="C:\...\Browsers\Edge\MicrosoftWebDriver.exe" -jar "C:\...\selenium-server-standalone-4.0.0-alpha-1.jar" -role node -hub "http://<hub_IP_address>:4444/grid/register/" -nodeConfig "C:\...\config.json"
我尝试在 config.jsons 中使用 "host" 属性。我试着把实际的 IP 地址和本地主机。但是集线器和节点显然是不同的机器,所以把本地主机让他们无法连接。但是当我没有本地主机时,它说需要指定为本地主机?我很混乱!!主机 属性 中应该包含什么?
我看到人们谈论量角器的环回 属性,但我没有使用量角器。我尝试将 "loopback":true 放入我的节点和集线器 config.json 文件中,但它似乎没有什么不同。
更新: 我能够使用集线器的 4.0 alpha jar 和节点的旧 3.8 jar 成功地将网格设置为 运行。 All Still on Java 8. 有点意思。
通过降级到 3.8.1 selenium grid jar 并安装 JDK 8 而不是 12,我能够让 selenium grid 工作。我需要获得 java 8 的原因在this other question。我使用相同的 chrome 驱动程序和启动命令
您可以尝试添加这些开关:--whitelisted-ips --allowed-origins=''*
尝试使用命令 运行 您的节点:
java -Dwebdriver.chrome.driver="C:\...\Browsers\ChromeDirectory\chromedriver.exe --whitelisted-ips --allowed-origins='*'" -Dwebdriver.ie.driver="C:\...\Browsers\IEDirectory\x86\IEDriverServer.exe" -jar -Dwebdriver.edge.driver="C:\...\Browsers\Edge\MicrosoftWebDriver.exe" -jar "C:\...\selenium-server-standalone-4.0.0-alpha-1.jar" -role node -hub "http://<hub_IP_address>:4444/grid/register/" -nodeConfig "C:\...\config.json"