如何使用mechanize单击按钮来网页抓取页面以获取信息?

时间:2016-04-11 21:12:01

标签: ruby nokogiri mechanize

我正在寻找要求您按下箭头按钮的页面内容,其中信息将通过jquery显示而不是加载新页面。由于需要点击按钮,我使用机械化来代替nokogiri。到目前为止我所拥有的是

url = "http://brokercheck.finra.org/Individual/Summary/1327992"
mechanize = Mechanize.new 
page = mechanize.get(url)
button = page.at('.ArrowExpandDsclsr.faangledown')
new_page = mechanize.click(button)
new_page.at('#disclosuredetails')

看来new_page仍然没有显示包含新加载信息的页面。谁知道为什么会这样?

1 个答案:

答案 0 :(得分:0)

你试图让机械化点击的按钮不是一个“常规”按钮,它有点动态。它在点击时使用javascript / ajax获取相关数据。

Mechanize不会呈现网页的DOM,也不提供让javascript与页面交互的方法。因此,根据javascript的功能,它不适合与动态页面进行交互。

对于此类情况,如果您希望通过ruby与其进行互动,我建议phantomjs,可以是独立的,也可以是capybara / poltergeist