使用 gem "capybara-webkit" 是一种在完整的 javascript 渲染视图中操作该网站的可行方法。
这是一个 capybara-webkit 脚本可能看起来的示例。
#!/usr/bin/env ruby
require "rubygems"
require "pp"
require "bundler/setup"
require "capybara"
require "capybara/dsl"
require "capybara-webkit"
Capybara.run_server = false
Capybara.current_driver = :webkit
Capybara.app_host = "http://www.goalzz.com/"
module Test
class Goalzz
include Capybara::DSL
def get_results
visit('/default.aspx?c=8358')
all(:xpath, '//td[@class="m_g"]').each { |node| pp node.to_s }
end
end
end
spider = Test::Goalzz.new
spider.get_results
在这种情况下(由于页面是动态创建的)找到示例 xpath 所需的是一个功能齐全的 javascript webdriving 引擎。