单击特定菜单中的链接?

时间:2014-04-05 15:27:17

标签: ruby nokogiri mechanize

我正在尝试抓一页,需要点击菜单中的某些链接。如果我使用搜索方法,那么我会使用Nokogiri对象,因此无法使用click方法。

agent.page.search('.right-menu').links_with(href: /^\/blabla\//).each do |link|
  region = link.click
end

以下内容告诉我links_with未定义。如何从特定菜单中选择链接?有没有办法可以将对象解析回Mechanize对象?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

agent.page.search('.youarehere > a').each do |a|
  link = Mechanize::Page::Link.new(a.attr('href'), agent, agent.page)
  region = link.click
end

这不是最干净的方法我想,但是Mechanize的源代码几乎完全相同:http://mechanize.rubyforge.org/Mechanize/Page.html#method-i-links

虽然是一个很好的补充,而不是通过这个。