此处示例代码:
require 'nokogiri' require 'open-uri' begin doc = Nokogiri::HTML(open(url)) rescue puts "Fehler ist aufgetretten..." end
页面的某些部分是异步加载的,我缺少一些稍后加载的值。有没有办法打开网址,等待10秒,之后将其分配给变量 doc ?任何有bash / lynx / wget的解决方案/想法也是受欢迎的:)
答案 0 :(得分:1)
不幸的是,等待10秒是行不通的,因为open-uri和Nokogiri都不会执行异步加载内容的javascript。您需要使用Watir或Watir-webdriver等浏览器驱动程序。如果JRuby是一个选项,您可以使用Celerity这是一个支持某些 javascript的浏览器模拟器(使用Watir API),并且可能会执行您需要的任务。