通过互联网访问selenium webdriver

时间:2017-03-19 17:28:53

标签: perl selenium

我想运行一个Perl脚本,该脚本部署Selenium::Remote::Driver以从严重依赖JavaScript的网站获取数据。 Perl脚本和Selenium WebDriver应该在不同的机器上运行(分别是客户端和服务器)。

我使用

在服务器上启动了Selenium WebDriver
/usr/bin/xvfb-run -e /dev/stdout java -Dwebdriver.gecko.driver=/opt/gecko/geckodriver -jar /opt/selenium/selenium.jar

Xvfb已经启动。

WebDriver报告正确启动并显示在进程列表中

root      6830  6800  7 18:17 pts/0    00:00:01 java -Dwebdriver.gecko.driver=/opt/gecko/geckodriver -jar /opt/selenium/selenium.jar

该过程正在侦听端口4444

netstat -tulpn | grep 6830
tcp6       0      0 :::4444                 :::*                    LISTEN      6830/java

然后我尝试将防火墙配置为根据this thread

接受来自客户端计算机的连接
iptables -A INPUT -p tcp --dport 4444 -s <client-ip> -j ACCEPT
iptables -A INPUT -p tcp --dport 4444 -j DROP

Perl脚本

use Selenium::Remote::Driver;;

$sel = Selenium::Remote::Driver->new;
$sel->get("http://example.com");
print $sel->get_page_source();
$sel->quit;

在服务器上本地运行时,它可以正常工作,并返回所需的数据。

但是在客户端计算机上运行时,使用修改后的构造函数

$sel = Selenium::Remote::Driver->new( remote_server_addr => '<server-ip>');

它拒绝工作

  

Selenium服务器未在/Selenium/Remote/Driver.pm第401行返回正确的状态。

在客户端上发出telnet命令以检查服务器的WebDriver端口

telnet <server-ip> 4444
Trying <server-ip>...

表示端口未打开。

我错过了什么?

ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5015907 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5015907 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1434694690 (1.3 GiB)  TX bytes:1434694690 (1.3 GiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          inet6 addr: ::2/128 Scope:Compat
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:17549498 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18398702 errors:0 dropped:111 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11881977702 (11.0 GiB)  TX bytes:4577577462 (4.2 GiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:178.254.xxx.xxx  P-t-P:178.254.xxx.xxx  Bcast:178.254.xxx.xxx  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:178.254.xxx.xxx  P-t-P:178.254.xxx.xxx  Bcast:178.254.xxx.xxx  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

0 个答案:

没有答案