硒绑定到特定IP - 可能吗?(Bind selenium to a specific IP -

2019-06-24 11:12发布

许多人一样,我们开始通过下面的命令硒服务器:

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

我们发现的是,这将打开0.0.0.0:4444硒起来

Started SocketListener on 0.0.0.0:4444

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

有什么办法绑定硒到特定的IP(本地主机)?

谢谢。

Answer 1:

使用下面的命令

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

其中192.168.1.100是主机的IP地址



Answer 2:

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

那么,这将做的是刚落,从任何外部源端口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访问)

新访问的URL是现在

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

这应该是工作

再次,这更是一个创可贴的更大的问题,并且这样做不会强迫你改变任何代码和仍然保持一个安全的系统



Answer 3:

这将有可能通过添加“-host 192.168.1.100”参数,只要你有此修复程序在您的版本:

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

(不包括该修补程序在写作的时候可用的二进制文件,所以你必须从源代码构建自己的。)



Answer 4:

您可以运行java -jar selenium-server-standalone-2.21.0.jar在远程机器上

然后在您的硒脚本定义你的webdriver远程运行。

在Ruby中,你可以这样来做

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

这是你想要的?



Answer 5:

我当时也面临着与集线器相同的问题。 所以,我中心向一些其他的IP地址指向,当我试图UP枢纽,但是当我检查我的IP地址,这是我的本地系统上的不同。 为了克服这个问题我只是想下面的代码和它的作品。

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

我中心登记到我的本地计算机的IP地址。



文章来源: Bind selenium to a specific IP - Possible?