我在浏览器中安装了MozRepl,并设置为在启动时启动并接受外部连接。
所以我的问题如下: 1)运行代码my $mech = WWW::Mechanize::Firefox->new();会启动火狐浏览器吗?
2)我已经将MozRepl设置为接受外部连接,然而,当火狐没有启动时,当我的脚本到达1)中的代码时,它会告诉我unable to connect, problem connecting to localhost, on port 4242。我尝试在火狐浏览器未启动的情况下执行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实例来操作浏览器?
发布于 2012-11-12 18:04:39
你必须在测试前启动你的浏览器,它不是自动启动的。
我花了一些时间来启动firefox,但系统在firefox启动后立即返回。我花了几秒钟来初始化它的所有插件,等等。
最简单的方法是通过睡眠等待30秒,或者启动一个while循环等待,直到它开始响应。
防火墙规则可能阻止您访问mozrepl。默认端口为4242。通过telnet检查端口:
telnet 192.168.1.23 4242
telnet 127.0.0.1 4242https://stackoverflow.com/questions/13340582
复制相似问题