Rubyのmechanizeでnameにハイフンがあると値を設定できない
以前に作ったRubyクローラーを改造して、検索フォームに自動で値を設定するプログラムをつくりました。その際にテキストフィールドのnameにハイフンがあり値の設定にはまったので解決方法を記載します。
以下ですとエラーとなります。 ※keyword-fieldにハイフンが入っているためです。
page = @agent.get('http://example.com')
search_form = page.forms.with.action('http://example.com/search.html').first
search_form.keyword-field = keyword
実は以下のように['keyword-field']とすればOK。簡単です。いろいろ検索したのですが、解決策が探せなかったので、記載してみました。
page = @agent.get('http://example.com')
search_form = page.forms.with.action('http://example.com/search.html').first
search_form['keyword-field'] = keyword
トラックバック(0)
このブログ記事に対するトラックバックURL(トラックバックは承認後に公開されます)


コメントする