mechanize:Mechanize::Page#iframe_with
以下のような HTML で
<html> <head> <title>iframe test</title> </head> <body> <iframe src="iframe1.html" name="i1" width="200" height="100">foo</iframe> <iframe src="iframe2.html" name="i2" width="400" height="300">bar</iframe> </body> </html>
>> require 'mechanize' => true >> agent = Mechanize.new => #<Mechanize:0xb748c2d8 ... >> page = agent.get('http://127.0.0.1:8080/test03_iframe.html') => #<Mechanize::Page {url #<URI::HTTP:0xb7488958 URL:http://127.0.0.1:8080/test03_iframe.html>} {meta} {title "iframe test"} {iframes #<Mechanize::Page::Frame "i1" "iframe1.html"> #<Mechanize::Page::Frame "i2" "iframe2.html">} {frames} {links} {forms}> >> page.iframe_with(:src => //) {|f| p f} #<Mechanize::Page::Frame "i1" "iframe1.html"> => #<Mechanize::Page::Frame "i1" "iframe1.html"> >> page.iframe_with(:width => "200") {|f| p f} NoMethodError: undefined method `width' for #<Mechanize::Page::Frame "i1" "iframe1.html"> ... >> page.iframe_with(:src => //) {|f| puts f.src } iframe1.html => #<Mechanize::Page::Frame "i1" "iframe1.html">