1

Mechanize gem、Mechanize::FileMechanize::Pageに変換する方法に問題があります。

これが私のコードです:

**link** = page.link_with(:href => %r{/en/users}).click

ユーザーがリンクをクリックすると、ユーザーのリストが表示されたページに移動します。最初のユーザーをクリックしたいのですが、リンクがMechanize :: Fileオブジェクトを返すため、これを実現できません。

どんな助けでも、提案は素晴らしいでしょう、ありがとう

4

2 に答える 2

0

nokogiriで体を解析するだけです:

link = page.link_with(:href => %r{/en/users}).click
doc = Nokogiri::HTML link.body
agent.get doc.at('a')[:href]
于 2012-06-08T06:02:50.727 に答える
0

Mechanizeは、Content-Typeを使用して、リソースの処理方法を決定します。時折、ウェブサイトはリソースのmimeタイプを設定しません。Mechanize::File未設定のContent-Typeのデフォルトです。

あなたが扱っているだけなら、'text/html'JimmStoutの使用の提案に従うことができますpost_connect_hooks

agent = Mechanize.new do |a|
  a.post_connect_hooks << ->(_,_,response,_) do
    if response.content_type.empty?
      response.content_type = 'text/html'
    end
  end
end
于 2013-12-06T15:38:31.520 に答える