mechanize:Mechanize::Page::Label#for
以下のような HTML で
<html> <head> <title>label test</title> </head> <body> <form method="post" action="cgi/test_form00.cgi" name="form1"> <input type="radio" name="radio1" id="r1" value="male" checked="checked"><label for="r1">Male</label> <input type="radio" name="radio1" id="r2" value="female"><label for="r2">Female</label> </form> </body> </html>
>> require 'mechanize' => true >> agent = Mechanize.new => #<Mechanize:0xb744d538 ... >> page = agent.get('http://127.0.0.1:8080/test05_label.html') => #<Mechanize::Page {url #<URI::HTTP:0xb7449c1c URL:http://127.0.0.1:8080/test05_label.html>} {meta} {title "label test"} {iframes} {frames} {links} {forms #<Mechanize::Form {name "form1"} {method "POST"} {action "cgi/test_form00.cgi"} {fields} {radiobuttons #<Mechanize::Form::RadioButton:0xb7441134 @checked=true, @name="radio1", @value="male"> #<Mechanize::Form::RadioButton:0xb7440fcc @checked=false, @name="radio1", @value="female">} {checkboxes} {file_uploads} {buttons}>}> >> page.labels[0].for => [#<Nokogiri::XML::Element:0x..fdba20908 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba1a38c name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba1a382 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba1a378 name="id" value="r1">, #<Nokogiri::XML::Attr:0x..fdba1a36e name="value" value="male">, #<Nokogiri::XML::Attr:0x..fdba1a364 name="checked" value="checked">]>] >> page.labels[1].for => [#<Nokogiri::XML::Element:0x..fdba208b8 name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba18b72 name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba18b68 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba18b5e name="id" value="r2">, #<Nokogiri::XML::Attr:0x..fdba18b54 name="value" value="female">]>]