它的一个主要缺点curl
是,越来越多的网页的主要内容是由在初始 HTTP 响应之后发生的 JavaScript AJAX 响应绘制的。curl
从来没有注意到这个后绘制的内容。
因此,为了从命令行获取这些类型的网页,我只能用 Ruby 编写脚本来驱动 SeleniumRC 启动 Firefox 实例,然后在这些 AJAX 调用完成后返回源 HTML。
对于此类问题,最好有一个更精简的命令行解决方案。有谁知道吗?
答案1
你考虑过瓦蒂尔吗?
添加该包后,您可以将其作为独立文件运行irb
,也可以在 后逐行运行include 'watir-webdriver'
。我发现它的响应速度比 更快selenium-webdriver
,但没有测试记录 GUI 来帮助计算复杂的测试条件。
答案2
我最近刚刚开始在 Java 中使用 Selenium 2 的 WebDriver。有一个名为 HtmlUnitDriver 的驱动程序,它完全支持 JavaScript,但不会启动实际的浏览器。
这不是一个简单的解决方案,但它确实可以完成工作。
我设计了从命令行运行的代码并将网络数据保存到文件中。