###前提・実現したいこと
日経新聞のwebサイトにrubyのmechanizeというライブラリを使って自動的にログインした上で、ページを表示させたいです。
###発生している問題・エラーメッセージ
コードが正しく動かず、下記エラーが出ます。
エラーメッセージ
me.rb:12:in '<main>': undefined method 'field_with' for nil:NilClass (NoMethodError)
###該当のソースコード
ruby
1ここにご自身が実行したソースコードを書いてください
require "mechanize"
agent = Mechanize.new
agent.follow_meta_refresh = true
agent.redirect_ok = true
agent.user_agent_alias = 'Mac Safari'
url="http://www.nikkei.com/etc/accounts/login?dps=1&pageflag=top&url=http%3A%2F%2Fwww.nikkei.com%2F"
page = agent.get(url)
form = page.form_with(:id=>"LA7010Form01")
form.field_with(:name => 'LA7010Form01:LA7010Email').value="ID"
form.field_with(:name => 'LA7010Form01:LA7010Password').value="password"
form.submit
page = agent.get('http://www.nikkei.com/paper/')
p page
###試したこと
ログインページで要素を検証して、フォームIDやインプット要素の名前が正しいことを確認しました。
また、日経サイトの替わりにニコニコ動画で試したら問題なくコードが動きました。
require "mechanize" agent = Mechanize.new agent.follow_meta_refresh = true agent.redirect_ok = true agent.user_agent_alias = 'Mac Safari' url="http://www.nicovideo.jp/login" page = agent.get(url) form = page.form_with(:id=>"login_form") form.field_with(:name => 'mail_tel').value="ID" form.field_with(:name => 'password').value="password" form.submit page = agent.get('http://www.nicovideo.jp/my/top') p page ###補足情報(言語/FW/ツール等のバージョンなど) rubyのバージョン:2.3.1 32bit mechanizeのバージョン:2.7.5 OSのバージョン:Windows10 Pro 64bit
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/06 13:59