许多人一样,我们开始通过下面的命令硒服务器:
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(本地主机)?
谢谢。
使用下面的命令
java -jar selenium-server-standalone-2.21.0.jar -host 192.168.1.100
其中192.168.1.100是主机的IP地址
这不是处理这个问题的正确方法,但它的一种方式
那么,这将做的是刚落,从任何外部源端口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/
这应该是工作
再次,这更是一个创可贴的更大的问题,并且这样做不会强迫你改变任何代码和仍然保持一个安全的系统
这将有可能通过添加“-host 192.168.1.100”参数,只要你有此修复程序在您的版本:
https://code.google.com/p/selenium/source/detail?r=71c5e231f442
(不包括该修补程序在写作的时候可用的二进制文件,所以你必须从源代码构建自己的。)
您可以运行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)
这是你想要的?
我当时也面临着与集线器相同的问题。 所以,我中心向一些其他的IP地址指向,当我试图UP枢纽,但是当我检查我的IP地址,这是我的本地系统上的不同。 为了克服这个问题我只是想下面的代码和它的作品。
java -jar selenium-server-standalone-3.12.0.jar -host 192.XXX.X.XX -role hub
我中心登记到我的本地计算机的IP地址。