2012-03-09 67 views
1

在使用perl的JavaScript链接中获取以下错误 - WWW::Mechanize使用WWW访问链接时出错:机械化

错误歌厅的javascript:submt_os( '2', '接触%20info', '接触%20info'):协议方案 '的javascript' 不支持

这是我的代码:

#!/usr/bin/perl 
use WWW::Mechanize; 
my $mech = WWW::Mechanize->new(); 

$uri="http://tinyurl.com/76xv4ld"; 
$mech->get($uri); 

# error on this link 
$mech->follow_link(text => 'Contact Information'); 

print $mech->content(); 

一旦我找到页面,我想点击联系信息

还有其他方法可以点击联系信息

+0

相关:http://stackoverflow.com/questions/3769015/how-can-i-handle-javascript-in-a-perl-web-crawler http://stackoverflow.com/questions/9559927/web- crawler-with-javascript-support-in-perl - 在提出问题之前,使用相关的关键字搜索堆栈溢出和Web有帮助。 – daxim 2012-03-09 10:41:37

回答

3

您无法使用WWW :: Mechanize跟随JavaScript链接。即使你有一个javascript解释器,你也需要完整的DOM支持来处理任何不重要的事情。

所以 - 你需要脚本的网页浏览器。我在我的测试中使用Selenium,这是相当笨重的,需要java。您可能需要调查WWW::Mechanize::Firefox。我没有使用它,但它确实为Firefox提供了机械化风格的界面。