この回答で述べたように、取得したorMechanize::Form
を使用して新しいオブジェクトを簡単に作成できます。Nokogiri::XML::Element
Mechanize::Page#search
Mechanize::Page#at
a = Mechanize.new
page = a.get 'https://stackoverflow.com/'
# Get the search form via ID as a Nokogiri::XML::Element
form = page.at '#search'
# Convert it back to a Mechanize::Form object
form = Mechanize::Form.new form, a, page
# Use it!
form.q = 'Foobar'
result = form.submit
注:フォームを送信できるようにするには、Mechanize
オブジェクトとオブジェクトをコンストラクターに提供する必要があります。Mechanize::Page
それ以外の場合は、コンテキストのない単なるMechanize::Form
オブジェクトになります。
s を Mechanize 要素に変換するための中心的なユーティリティ関数はないようですNokogiri::XML::Element
が、必要な場所に変換が実装されています。したがって、CSS または XPath でドキュメントを検索し、該当する場合は Mechanize 要素を返すメソッドを作成するには、ノード タイプでかなり大きなスイッチ ケースが必要になります。正確には私が想像したものではありません。