您正在使用文档中的示例代码,在 google 搜索中没有具有该名称的表单,请尝试“gbqf”,但它可能会因语言环境或各种设置而异。当您使用 mechanize 时,使用“pp”在开发过程中漂亮地打印元素,以查看您正在获取的内容和接下来的内容。
工作 .rb 示例(从http://mechanize.rubyforge.org/EXAMPLES_rdoc.html更新)通过查询获得前 10 个结果。
require 'rubygems'
require 'mechanize'
a = Mechanize.new { |agent|
agent.user_agent_alias = 'Mac Safari'
}
a.get('http://google.com/') do |page|
search_result = page.form_with(:name => 'gbqf') do |search|
search.q = 'ruby mechanize'
end.submit
search_result.search(".//a[@class='l']").each_with_index.map do |link, i|
puts "#{i} #{link.content}"
end
end