AmazonAuth
Sign In Amazon using Capybara and Selenium
Recorded with Recordit
Installation
Add this line to your application's Gemfile:
gem 'amazon_auth'
And then execute:
$ bundle
Or install it yourself as:
$ gem install amazon_auth
Requirements
This gem may not work with newer versions of Firefox.
Firefox (<= 47.0.2)
Download Firefox
Don't forget to disable automatic updates of Firefox.
You may also need geckodriver.
This may need to be older depending on the version of selenium-webdriver.
If the browser doesn't work, try selenium-webdriver version '~> 2.0' or different version of geckodriver/Firefox.
Usage
Set Amazon credentials on your local machine
[Quick] You can set login and password in console.
[Recommended] Or you can convert them to protect them against shoulder surfing.
Run amazon_auth and paste the output to .env.
(AMAZON_USERNAME_CODE , AMAZON_PASSWORD_CODE and AMAZON_CODE_SALT)

Run
In console, you can move around pages using Capybara DSL
# Without credentials in .env
client = AmazonAuth::Client.new(login: 'your_amazon_email', password: 'your_amazon_password')
# With credentials in .env
client = AmazonAuth::Client.new
# Sign in
client.sign_in
# Continue to the page for Kindle
link = client.links_for('#navFooter a').find{|link| link =~ %r{/gp/digital/fiona/manage/} }
client.session.visit link
Use amazon site in different domain
Set AMAZON_DOMAIN in .env.
e.g. AMAZON_DOMAIN=amazon.co.jp for Japanese site
Use Chrome (chromedriver)
You can use Chrome instead of Firefox
Before running, you need to download chromedriver. Please download latest chromedriver_xxx.zip from http://chromedriver.storage.googleapis.com/index.html and place it somewhere on your PATH.
mv ~/Downloads/chromedriver /usr/local/bin/
In console,
client = AmazonAuth::Client.new(driver: :chrome)
Development
Some features come from https://github.com/kyamaguchi/kindle
Use .env.development instead of .env in development.
git clone https://github.com/kyamaguchi/amazon_auth.git
cd amazon_auth
bundle
./exe/amazon_auth
vi .env.development
rspec
./bin/console
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/kyamaguchi/amazon_auth.
License
The gem is available as open source under the terms of the MIT License.