2017-02-19 199 views
2

我正在嘗試使用Mechanize在亞馬遜上登錄我的Kindle帳戶。使用Mechanize登錄到https://kindle.amazon.com/login

登錄頁面URL是https://kindle.amazon.com/login

我可以手動登錄到該頁面沒有問題,但如果我嘗試使用下面的代碼它總是失敗,錯誤(見下圖)。

require 'mechanize' 

mechanize_agent      = Mechanize.new 
mechanize_agent.user_agent_alias  = 'Windows Mozilla' 

signin_page   = mechanize_agent.get("https://kindle.amazon.com/login") 
signin_form   = signin_page.form("signIn") 
signin_form.email  = "[email protected]" 
signin_form.password = "password" 
post_signin_page  = mechanize_agent.submit(signin_form) 

這始終是結果頁面(再次,我敢肯定,我的劇本是使用有效值):

enter image description here

回答

2

看起來機械化試圖提交表單沒有propper行動。嘗試使用繼續按鈕,與該按鈕將表格:

# ... 
submit_button = signin_form.buttons.find { |b| b.value == "Continue" } 
post_signin_page = mechanize_agent.submit signin_form, submit_button 
+0

不幸的是,結果都是一樣的。我真的不明白這裏發生了什麼。 – RobertJoseph

+1

我會嘗試在幾個小時內再次調試它。你能告訴我你使用什麼版本的機械化? – Wikiti

+0

非常感謝。從'寶石列表':'機械化(2.7.5,2.7.4)' – RobertJoseph