在ajax响应到来之后获取/转储/下载页面

时间:2012-05-12 18:07:26

标签: ruby ajax nokogiri response

此处示例代码:

require 'nokogiri'
require 'open-uri'

begin
    doc = Nokogiri::HTML(open(url))
rescue
    puts "Fehler ist aufgetretten..."
end

页面的某些部分是异步加载的,我缺少一些稍后加载的值。有没有办法打开网址,等待10秒,之后将其分配给变量 doc ?任何有bash / lynx / wget的解决方案/想法也是受欢迎的:)

1 个答案:

答案 0 :(得分:1)

不幸的是,等待10秒是行不通的,因为open-uri和Nokogiri都不会执行异步加载内容的javascript。您需要使用WatirWatir-webdriver等浏览器驱动程序。如果JRuby是一个选项,您可以使用Celerity这是一个支持某些 javascript的浏览器模拟器(使用Watir API),并且可能会执行您需要的任务。