3
4

More than 1 year has passed since last update.

Python seleniumでAWSコンソールのログインを自動化する(PythonでWeb画面のスクレイピングする)

Last updated at Posted at 2022-03-19

タイトルの通りですが、Pythonでseleniumを使ってAWSコンソールのログイン処理を自動化したので投稿します。
最近、AWSアカウントを複数利用する(個人用/会社用/顧客用などなど)ケースが増えてきており、さらにパスワードポリシーが様々で大混乱中のため自動化しました(^^;)
いわゆるPythonにseleniumをインストールしてWebスクレイピングする編です。

想定読者

  • AWSコンソールのログインが面倒に感じている人
  • Pythonが気になっている人
  • Webの自動化に取り組みたい人

作業時間

約15分

参考ページ

こちらのページのseleniumの基本操作で実現出来ました(^^)

作業手順

  1. ブラウザのドライバダウンロード
  2. Pythonにseleniumをインストール
  3. 実装

それでは1つ1つ手順を説明します。

1.ブラウザのドライバダウンロード

seleniumはブラウザのドライバを使ってWebサイトの操作を自動化します。
ということで事前にドライバをダウンロードします。
今回はChromeのドライバを用意することにします。
Chromeは以下のURLからダウンロードできます。

stableバージョンの最新ドライバをダウンロードしましょう。

image.png

自身の環境に合ったものをクリックします。(私はWindowsユーザなので。。。)

image.png

ダウンロードしたzipファイルを解凍して「chromedriver.exe」を任意のフォルダにコピーします。
以上です。この手順は終了です。

2.Pythonにseleniumをインストール

これはpipを使えばすぐですね。以下を実行してください。

pip install selenium

3.実装

いよいよ実装です。
と、言ってもこちらも一瞬です。
以下のソースコードをコピーして

  • CHROME_DRIVER
  • AWS_ACCOUNT_ID
  • AWS_IAM_ID
  • AWS_IAM_PASSS

の4か所を自身のChromeドライバを格納したフォルダAWSアカウントIAM IDパスワードに変えましょう。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

CHROME_DRIVER = "C:\\Python\\drive\\chromedriver"

OPEN_AWS_URL = "https://console.aws.amazon.com"
AWS_ACCOUNT_ID = "111111111111"
AWS_IAM_ID = "XXXXXX"
AWS_IAM_PASSS = "xxxxxxxx"

driver = webdriver.Chrome(CHROME_DRIVER,options=Options())

print("OPNE:" + OPEN_AWS_URL)
driver.get(OPEN_AWS_URL)
driver.find_element_by_id("iam_user_radio_button").click()

print("ACCOUT ID 入力")
driver.find_element_by_id("resolving_input").send_keys(AWS_ACCOUNT_ID)
driver.find_element_by_id("next_button").click()

print("USER NAME 入力")
driver.find_element_by_id("username").send_keys(AWS_IAM_ID)
print("PASSWORD 入力")
driver.find_element_by_id("password").send_keys(AWS_IAM_PASSS)
driver.find_element_by_id("signin_button").click()

では、実行。

image.png

お、

image.png

おお、

image.png

成功です!なんだか画面が勝手に動いているのを見ているとワクワクします(^^)
お疲れ様でした!!

補足

IAMユーザがMFA認証の場合(ほとんどの方がセキュリティ的にこっちだと思いますが)、最後が以下の画面表示になります。

image.png

MFAはパスワードが毎回変わるので、ここでMFAのパスワードを手動入力してログインします。(私はこっちで運用してます)
これでもAWSコンソールのAWSアカウント、IAM ID、パスワード入力が自動的にされるのでだいぶ楽になりました(^^)

まとめ

今回は、Python seleniumを使ってAWSコンソールのログイン処理を自動化しました。
実は、seleniumを使うのが初めてで何か楽したいな思ってAWSコンソール自動化にチャレンジしました。
AWSコンソールのログインに煩わしさを感じている方はぜひ試してみてください。以上です。

ここまで読んで頂き、ありがとうございました!

3
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4