WWW :: Mechanize :: Firefox故障排除

时间:2012-11-12 08:44:37

标签: perl firefox www-mechanize mozrepl

我在浏览器中安装了MozRepl,并设置为在启动时启动并接受外部连接。

所以我的问题如下 1)只需运行代码my $mech = WWW::Mechanize::Firefox->new();启动firefox浏览器吗?

2)我已将MozRepl设置为接受外部连接,但是当firefox未启动时,当我的脚本到达1)中的代码时,它会告诉我unable to connect, problem connecting to localhost, on port 4242。我尝试使用未启动的Firefox浏览器执行telnet localhost 4242调试。它还给了我这个错误Could not open connection to the host, on port 4242: Connect failed

我应该期待这个结果吗?

3)鉴于我遇到的困难,我决定在创建mechanize :: firefox实例之前使用system()启动浏览器。浏览器能够启动,但它永远不会到达要创建mechanize :: firefox实例的代码。

#where i manually fire up firefox.
system('"C:\Program Files\Mozilla Firefox\firefox.exe"'); 

my $mech = WWW::Mechanize::Firefox->new(ssl_opts => { verify_hostname => 0});
$mech->get( 'https://192.168.1.23' );   

我能做些什么来确保firefox浏览器可以启动但它不会影响代码的顺序,这样可以创建mechanize :: firefox实例来操作浏览器?

1 个答案:

答案 0 :(得分:0)

您必须在测试前启动浏览器,它不会自动启动。

我需要时间来启动firefox,但系统会在firefox启动后立即返回。我花了几秒钟来初始化它的所有插件等等。

最简单的方法是通过睡眠等待30秒,或者启动一个while循环等待它响应。

防火墙规则可能会阻止您访问mozrepl。默认端口为4242。 通过telnet检查端口:

telnet 192.168.1.23 4242
telnet 127.0.0.1 4242