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

ano*_*one 15 ip selenium bind ip-address

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

java -jar selenium-server-standalone-2.21.0.jar
Run Code Online (Sandbox Code Playgroud)

我们发现这是在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
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

ret*_*nam 8

使用以下命令

    java -jar selenium-server-standalone-2.21.0.jar -host 192.168.1.100
Run Code Online (Sandbox Code Playgroud)

其中192.168.1.100是主机的IP地址


小智 5

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

所以这将做的只是从任何外部来源断开端口 4444 上的任何连接。你可以先去页面测试一下

像这样启动服务器

java -jar selenium-server-standalone-2.39.0.jar -host 127.0.0.1 -port 4444 
Run Code Online (Sandbox Code Playgroud)

验证一切正常

http://yourexternalip:4444/wd/hub/
Run Code Online (Sandbox Code Playgroud)

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

分发命令

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
Run Code Online (Sandbox Code Playgroud)

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

您的新可访问 URL 现在是

http://127.0.0.1:4444/wd/hub/
Run Code Online (Sandbox Code Playgroud)

哪个应该工作

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


Ame*_*mey 0

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

然后在您的 selenium 脚本中定义您的网络驱动程序以远程运行。

在红宝石中你可以这样做

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

这是你想要的?