Java kubernetes中的Selenium-仅允许本地连接
我正在尝试运行一个运行Selenium的应用程序,以便拍摄一些屏幕截图 当我在docker compose文件中运行应用程序时,一切正常,但是,当我尝试在云中的kubernetes集群中运行时,我不断得到以下消息:Java kubernetes中的Selenium-仅允许本地连接,java,selenium,selenium-webdriver,kubernetes,selenium-chromedriver,Java,Selenium,Selenium Webdriver,Kubernetes,Selenium Chromedriver,我正在尝试运行一个运行Selenium的应用程序,以便拍摄一些屏幕截图 当我在docker compose文件中运行应用程序时,一切正常,但是,当我尝试在云中的kubernetes集群中运行时,我不断得到以下消息:只允许本地连接,并且似乎没有建立连接。在我看来,这个问题是由于网络和selenium不允许非本地主机的连接,kubernetes就是这样 我正在使用image:selenium/standalone-chromeimage(在我的图表中,selenium/standalone-chro
只允许本地连接
,并且似乎没有建立连接。在我看来,这个问题是由于网络和selenium不允许非本地主机的连接,kubernetes就是这样
我正在使用image:selenium/standalone-chrome
image(在我的图表中,selenium/standalone-chrome:3.141),其中chrome驱动程序显然是:2.43.600233
我一直在尝试用--whitelisted ips选项来解决这个问题,但是没有用。我试过:
chromeOptions.addArguments("--whitelisted-ips");
chromeOptions.addArguments("--whitelisted-ips=");
chromeOptions.addArguments("--whitelisted-ips=''");
下面是我的一些java代码
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.TakesScreenshot;
chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--verbose");
chromeOptions.addArguments("--headless");
chromeOptions.addArguments("--whitelisted-ips=");
chromeOptions.addArguments("--disable-gpu");
这是我在日志中看到的
您需要为chromedriver可执行文件设置白名单ips参数。您可以通过为docker chrome节点图像设置env
JAVA\u OPTS
来实现此目标:
chrome:
图片:selenium/node chrome:3.141.59
容器名称:chrome
取决于:
-硒轮毂
环境:
-集线器\主机=selenium集线器
-集线器端口=4444
-JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=
仅供参考。
chromeOptions.addArguments(“--whitelisted ips=”)代码>将参数传递到chrome而不是chromedriver 这是唯一的信息。更多信息:。@Peter1982我在那里找不到我的问题的答案。它彻底解释了chrome版本控制,并解释了消息的含义,但我不知道如何让我的远程selenium pod侦听来自其他pod的传入连接。另外,我理解为什么会有限制,但应该使用--白名单ips
标志来取消限制。在selenium测试中,您的baseUrl是什么?您是使用本地kubernetes IP地址还是通过pod访问服务?我使用的是服务。我还尝试在集群虚拟机的外部设备上安装selenium,在那里使用了IP地址,并且遇到了同样的问题。事实证明,这个--白名单ips=
选项似乎还没有在[chromeOptions][1]中实现。因此,我将selenium容器的命令更改为:command:[“java”]args:[“-Dwebdriver.chrome.whitelistedIps=”,“-Dwebdriver.chrome.driver=/usr/bin/chromedriver”,“-jar”,“/opt/selenium/selenium server standalone.jar”。。。。[1]: