问题 将硒与特定IP结合 - 可能吗?


像许多人一样,我们通过以下命令启动selenium服务器:

java -jar selenium-server-standalone-2.21.0.jar

我们发现这会在0.0.0.0:4444打开selenium

Started SocketListener on 0.0.0.0:4444

[USER @ BOX ~]# netstat -na | grep LISTEN | grep 4444
tcp        0      0 :::4444                     :::*                        LISTEN

有没有办法将selenium绑定到特定的ip(localhost)?

谢谢。


12722
2018-05-15 19:51


起源

请将其中一个答案标记为正确 -host 192.168.1.100 它现在可用于selenium> = 2.40.0 - Leo Gallucci


答案:


使用以下命令

    java -jar selenium-server-standalone-2.21.0.jar -host 192.168.1.100

其中192.168.1.100是主机的IP地址


4
2018-05-16 01:11



这不起作用。无论如何,硒都在0.0.0.0:4444启动。 - anonymous-one
执行命令检查后访问http:// [hostip] / wd / - retornam
这对我有用。命令行输出仍然显示'connect on'127.0.0.1:4444'但看起来我能够使用host参数连接(在我的情况下是'10 .0.0.179')。 - Aidan Ewen
Retornam,测试这是否有效不是访问命令行中指定的IP,而是访问所有系统的 其他 IP地址可以看到它们 别 工作。当我指定 -host 127.0.0.1,我仍然可以使用服务器的外部IP地址从另一台计算机连接到服务器,这不应该发生。 - Rob Kennedy
@RobKennedy事情发生了变化,因为我接近一年前回答了这个问题。 - retornam


这不是处理这个问题的正确方法,而是一种方法

那么这将做什么只是从任何外部源丢弃端口4444上的任何连接。您可以先转到页面进行测试

像这样启动服务器

java -jar selenium-server-standalone-2.39.0.jar -host 127.0.0.1 -port 4444 

验证一切正常

http://yourexternalip:4444/wd/hub/

页面将加载。如果您的服务器运行正常。

发送命令

sudo iptables -A INPUT -p tcp --dport 4444 -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 4444 -j DROP

然后重新加载页面。网页将无法再访问(因为您正在从外部IP访问)

您的新可访问网址现在是

http://127.0.0.1:4444/wd/hub/

应该工作

同样,这更像是对更大问题的创可贴,并且这样做不会强迫您更改任何源代码并保持安全系统


4
2018-02-15 06:17





这可以通过添加“-host 192.168.1.100”参数来实现,前提是您在版本中有此修复:

https://code.google.com/p/selenium/source/detail?r=71c5e231f442

(在编写本文时,该修复程序未包含在可用的二进制文件中,因此您必须从源代码构建自己的二进制文件。)


2
2018-02-10 13:02



嘿@Steltek,你知道这个修复程序是否包含在selenium 2.40.0中吗? selenium-release.storage.googleapis.com/index.html?path=2.40 - Leo Gallucci


你可以跑 java -jar selenium-server-standalone-2.21.0.jar 在远程机器上

然后在你的selenium脚本中定义你的webdriver以远程运行。

在红宝石中你可以这样做

@driver = Selenium::WebDriver.for(:remote, :url => "http://specific_ip_of_remotemachine:4444", :desired_capabilities => firefox)

这是你想要的?


0
2018-05-15 20:48



不,不是我们想要的。我们想将selenium侦听器(默认端口4444)绑定到特定的ip,而不是我们服务器上的所有ips。 - anonymous-one


我也遇到了与Hub相同的问题。因此,当我尝试启动集线器时,我的Hub指向其他IP地址,但是当我检查我的IP地址时,我的本地系统上的情况有所不同。为了克服这个问题,我只是尝试了以下代码,它的工作原理。

java -jar selenium-server-standalone-3.12.0.jar -host 192.XXX.X.XX -role hub

我的集线器已注册到我的本地计算机IP地址。


0
2018-05-24 09:53