【Mechanize/Ruby】Amazonへのログイン

Amazonのウェブサービスの操作を自動化しています。RubyでMechanizeを使ってAmazonにログインしようとしたのですが、「Cookieを有効にしてください」の表示がでてしまってうまく行きませんでした。

調べたところ、Stackoverflowのページに投稿があり、以下のようにagent.follow_meta_refresh = trueとagent.redirect_ok = trueとagent.user_agent_alias = ‘Mac Safari’を設定したらうまく行きました。

以下の例の中で、MAIL_ADDRESSとPASSWORDのところは適当に変更してください。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require "mechanize"

# Instantiate and configure
agent = Mechanize.new
agent.follow_meta_refresh = true
agent.redirect_ok = true
agent.user_agent_alias = 'Mac Safari'

# Open the service page (e.g. Amazon Affiliate)
url="https://affiliate.amazon.co.jp/gp/associates/join/landing/main.html"
page = agent.get(url)

# Input username/password
form = page.form_with(:name=>"sign_in")
form.field_with(:name=>"username").value=MAIL_ADDRESS
form.field_with(:name=>"password").value=PASSWORD
form.submit

# Service page is loaded if login is successful
page = agent.page
...