-1

次のようなものがあります。

def self.foo
  agent = Mechanize.new
  form  = agent.get("link/to/form/url")

  form.form_with(:name => "form_name") do |f|
    f.field_with(:name => "input_name").value = "random_value"
    agent.form.forms[0].submit
    agent.follow_meta_refresh = true
  end
  self.bar
end

def self.bar
  #may need to pass variable for agent here?
  doc = Nokogiri::HTML(open(need redirect object!))
  doc.css(".random_class").text
end

クラスメソッドを呼び出すとfoo、フォームが正常に検出され、入力が入力されて送信されます。ただし、終了して呼び出すとbar、行き詰まります。

リダイレクト ポスト フォームの送信後に、結果のページの HTML である Mechanize オブジェクトを正常に渡して、正しいページをキャプチャしたかどうかをテストし、Nokogiri で CSS を解析する方法が見つかりませんでした。

何か提案がある Mechanize ウィザードはありますか?

4

1 に答える 1

0

agent変数はfooメソッドに対してローカルであるため、表示されませbarん。おそらく、クラス変数を使用する必要があります@agent。このようなクラス メソッドを作成する理由がわかりません。クラスにソースを提供し、なぜそのようにしているのかについてもう少し説明すると、より良いアドバイスが得られるかもしれません.

于 2013-04-27T13:12:23.050 に答える