这有点棘手。我猜这个网页使用某种AJAX来根据搜索查询提取内容。当我使用get in Perl获取页面时,它会获取php / html后面的脚本代码,但不会获取手动搜索查询时显示的结果。我需要能够获取结果页面的内容。在Perl中有没有这样做?
答案 0 :(得分:6)
查看Perl中的Selenium RC和WWW::Selenium
模块。有了它们,您就可以控制真正的网络浏览器。
另一个选项是WWW::HtmlUnit
,它使用HtmlUnit Java库在没有Web浏览器的情况下执行JavaScript。 WWW::HtmlUnit
使用Inline::Java授予Perl对库的访问权限。我发现在安装时,最好对“你想构建JNI扩展吗?”这个问题说“不”。
答案 1 :(得分:3)
如果您正在编写需要检查渲染页面的测试,您可以查看Schwern的javascript-tap-harness,它与Selenium一起使用并处理所有脚手架。
我还发现Using WWW::Selenium To Test Or Automate An Ajax Website非常有用。