机械化重定向/ Nokogiri(新手使用机械化)



我有一些东西看起来像这样:

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时,我被卡住了。

我还没有找到一种方法来成功地传递一个Mechanize对象,该对象是在重定向post表单提交后产生的页面的HTML,以测试并查看我是否捕获了正确的页面,并使用Nokogiri解析CSS。

有什么机械化巫师有什么建议吗?

您的agent变量是foo方法的局部变量,因此bar看不到它。你可能想使用一个类变量,例如@agent。我不确定为什么要创建这样的类方法。如果您提供了类的源代码,并提供了为什么这样做的更多描述,您可能会得到更好的建议。

相关内容

  • 没有找到相关文章

最新更新