我在浏览器中安装了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实例来操作浏览器?
答案 0 :(得分:0)
您必须在测试前启动浏览器,它不会自动启动。
我需要时间来启动firefox,但系统会在firefox启动后立即返回。我花了几秒钟来初始化它的所有插件等等。
最简单的方法是通过睡眠等待30秒,或者启动一个while循环等待它响应。
防火墙规则可能会阻止您访问mozrepl。默认端口为4242。 通过telnet检查端口:
telnet 192.168.1.23 4242
telnet 127.0.0.1 4242