我从Perl开始,我正在尝试编写一个脚本,让我退出页面(我已经登录了一个)。
我的想法是,我正在尝试使用WWW::Mechanize
中的find_link函数(我也试过WWW::Mechanize::Firefox
)来查找注销链接,但它无效。
所以,我的问题是:
是 onmouseover 的事件,避免找到该链接?我认为WWW::Mechanize::Firefox
支持javascript但也许这不正确。
<a class="hb2" href="/goform/Logout?logout=Logout" onmouseover="(window.status='Logout');
return true">Logout</a>
有没有办法做我想要的?任何帮助或建议都将受到高度赞赏。
答案 0 :(得分:1)
显然我的 MozRepl (需要使用WWW :: Mechanize :: Firefox)附加组件安装不正确。 @gangabass,@ andy我检查了HTML,它似乎在源头。所以@choroba我检查了为什么WWW :: Mechanize :: Firefox的行为与WWW :: Mechanize相同,我重新安装了附件。 然后一切都很完美。非常感谢大家花时间帮助我。
答案 1 :(得分:0)
您确定源HTML中包含此HTML片段吗?我的意思是您的HTML代码片段可能是通过Javascript动态创建的,或者您的源HTML中可能有框架。
因此,请显示$mech->content()
的输出以及处理此链接的代码(如上所述$mech->find_link( text => 'Logout' );
应该有效)。
答案 2 :(得分:0)
您是否使用mech-dump
命令行实用程序转储了该页面?试试吧。如果您的链接显示在mech-dump
的输出中,那么您将错误地调用find_all_links()
。
如果mech-dump
不显示您的链接,那么您可能要么格式错误,要么使用JavaScript在浏览器中生成HTML。