3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

seleniumでログイン用の簡単なRPAをやってみた

Posted at

#きっかけ
飲み会の席で、会社の同僚がRPAで勤怠の自動入力をしてくれるプログラムを作ったということを聞きました。
そこで彼の話からseleniumの存在を知り、自分も触ってみたいと思いました。

導入には下記サイトを参考にさせていただきました。

【超便利】PythonとSeleniumでブラウザを自動操作する方法まとめ
https://tanuhack.com/selenium/

つまづいた点として、Google Chromeとchromedriverのバージョンを合わせる必要がありました。
12/3日時点ではGoogle Chromeの最新バージョンが78なのに対し、
chromedriverの最新版はベータ版の79用のものでした。
そのため、chromedriverの最新版では動きませんでしたので改めて78用をダウンロードしました。

#作ったもの
ブラウザを起動し、AWSのマネジメントコンソールにログインしてくれるプログラムを作りました。

まずはモジュールのインポートです。

aws.py
from selenium import webdriver

次に、関数を2つ作成しました。
send_idは、htmlの中の入力フォームのidを指定し、その入力フォームに対してkeyを入力します。
id_clickは、htmlの中の送信ボタンのidを指定し、そこをクリックします。

aws.py
#idの入力フォームにkeyを入力
def id_send(id,key):
    driver.find_element_by_id(id).send_keys(key)

#idのボタンをクリック
def id_click(id):
    driver.find_element_by_id(id).click()

次に、ローカルにあるクローム用のドライバーを指定します。
開くブラウザはAWSのマネジメントコンソールです。

aws.py
#ローカルにあるクローム用のドライバーを指定
driver = webdriver.Chrome('C:\\Users\\username\\Desktop\\selenium\\chromedriver')

#ブラウザを開く
driver.get('https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1#')

開かれたブラウザでF12、入力フォームの情報を探します…(htmlの知識が全然ないので手探り)
id="resolved_inut"ってやつがそれっぽいですね。
キャプチャ1.png

では、ここにアカウントIDを入力&送信するように、作った関数を使います。
アカウントIDのところには実際には12桁の数字を入れます。

aws.py
#1つ目の画面の入力、送信
id_send('resolving_input','アカウントID')
id_click('next_button')

するとアカウントIDが入力されて…
キャプチャ1.png

次のページに飛びました。
キャプチャ1.png

ここでも同じようにユーザー名、パスワードの入力フォームのIDを探し、プログラムに落とし込みます。

aws.py
id_send('username','username')
id_send('password','password')
id_click('signin_button')

そして無事に送信されると、ログインできました。
キャプチャ1.png

以上が今回のプログラムでした。

#感想・今後の課題
今回はこの程度の簡単なログインでしたが、htmlやcss、javascriptについてもっと勉強すれば、
自動化の幅も広がりそうだなーと感じました。
自分でサイトを作ってみたりしながら知識を深めたいです。

3
5
0

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
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?