0

我从 Perl 开始,我正在尝试做一个让我退出页面的脚本(我已经做了登录)。这个想法是,我正在尝试使用WWW::Mechanize(我也尝试过WWW::Mechanize::Firefox)中的 find_link 函数来查找注销链接,但它不起作用。所以,我的问题是:

onmouseover事件是否会避免找到该链接?我认为WWW::Mechanize::Firefox支持javascript,但也许这不正确。

<a class="hb2" href="/goform/Logout?logout=Logout" onmouseover="(window.status='Logout');
return true">Logout</a>

有没有办法做我想做的事?任何帮助或建议将不胜感激。

4

3 回答 3

1

显然我的MozRepl(需要使用 WWW::Mechanize::Firefox)插件​​没有安装好。@gangabass,@andy 我检查了 HTML,它似乎在源代码中。所以@choroba 我检查了为什么 WWW::Mechanize::Firefox 的行为与 WWW::Mechanize 相同,然后我重新安装了附加组件。然后一切都很完美。非常感谢大家花时间帮助我。

于 2012-12-06T15:39:33.887 回答
0

你确定你的源 HTML 中有这个 HTML 片段吗?我的意思是您的 HTML 代码片段可能是通过 Javascript 动态创建的,或者您的源 HTML 中有框架。

所以请显示输出$mech->content()和你的代码来处理这个链接(如上所述$mech->find_link( text => 'Logout' );应该可以工作)。

于 2012-12-06T02:47:17.503 回答
0

您是否使用mech-dump命令行实用程序转储了页面?试试看。如果您的链接出现在输出中,mech-dump那么您就find_all_links()错了。

如果mech-dump没有显示您的链接,那么您的 HTML 可能格式不正确,或者 HTML 是在浏览器中使用 JavaScript 生成的

于 2012-12-06T03:03:01.913 回答