我一直在寻找一种方法来检查用户提供的特定URL的更改.我写了一个我在家里运行的脚本,可以使用WWW :: Mechanize成功完成.问题是,我需要在另一个计算机网络中运行它,该网络具有阻止所有$mech-> get($url)请求的组策略(这不是防火墙问题,我让Perl通过),所以我想我会尝试通过让Perl控制Web浏览器来解决此问题.
网络中的计算机仅运行谷歌浏览器和IE8,由于另一项策略(想到使用WWW :: Mechanize :: Firefox),我无法安装Firefox.我不想在脚本中调用IE8,因为将提供的大多数网址都是不适合它的网站,因此只留下Chrome.
搜索可以做到这一点的模块,我只找到了AnyEvent::Chromi
:
which exposes all of the Chrome Extensions API via a websocket connection.
这不起作用(该策略可能也阻止了websocket).
解决方法
既然你提到IE8,我假设你正在处理Windows系统.既然你提到你曾经考虑过WWW:Mechanix :: Firefox,听起来你并不仅限于核心模块.
基于此,我认为自动化Chrome浏览器的唯一方法是使用Win32::GuiTest来控制Chrome浏览器.如果你可以弄清楚如何仅使用键盘输入(即没有鼠标)来手动驱动测试,那么比试图找出鼠标仿真以使光标到各种任务的正确位置更容易.
我不确定这是否是您想要使用的路线.这是我能想到的唯一方法来实现你想要处理的限制.