【Selenium】会員サイトへの自動ログイン
やりたいことは以下の3ステップ
⓵ 会員サイトを開く
⓶ ログインIDとパスワードを自動入力
③ ログイン
プログラミングスクール 「テックキャンプ」受講中に作成したAppなので
「テックキャンプ ログインページ」を使用しました。
※この操作自体はHeadlessモードでもできるそうですが、
ログイン後、Java Scriptを使ったwebページの操作を行う予定なので
GUIを使用したコードを書いています。
※Headlessモードとは
https://selenium-world.net/selenium-tips/3729/
使用ライブラリ
# 使用言語:Python
from selenium import webdriver
import chromedriver_binary
from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.options import Options
import time
ライブラリの説明
from selenium import webdriver
Seleniumとは、ブラウザを自動的に操作するライブラリです。主にWEBアプリケーションのテストやWEBスクレイピングに利用されます。
出典
https://ai-inter1.com/python-selenium/
import chromedriver_binary
SeleniumでGoogle Chromeブラウザを自動操作するために必要なライブラリ。
Seleniumを使うには、使用するブラウザのインターフェイスドライバが必要だそうです。Chrome以外を使用される方はブラウザに合ったものを選択してインストールしてください。
参考
https://kurozumi.github.io/selenium-python/installation.html#drivers%EF%BC%89
【!】注意
Chromedriverをインストールする際はブラウザのバージョンに注意してインストールしてください。
以下の説明がわかりやすかったです。
https://qiita.com/hanzawak/items/2ab4d2a333d6be6ac760
記述したコード
ブラウザを起動し、指定したページを開く
driver = webdriver.Chrome()
driver.get('https://master.tech-camp.in/tech_user/login?redirect_url=https://master.tech-camp.in/')
driver.get('XXX') XXXの部分にログインURLを格納
実行するとウィンドウが開きます。
seleniumを使ってドライバを操作すると上記のような文字が表示されるようです。
ログインIDとパスワードを変数に格納します。
in_id="sample_desuwayo@gmail.com"
in_passward="hogehuga"
IDとパスワードの位置を指定し、自動入力します。
#ログインパスワードとIDを自動入力
login_id = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div[1]/div[2]/form/input[1]")
login_id.clear()
login_id.send_keys(in_id)
login_pass = driver.find_element_by_xpath("/html/body/div/div/div[2]/div[1]/div[2]/form/input[2]")
login_pass.clear()
login_pass.send_keys(in_passward)
login_id や login_pass のdriver.find_element_by_xpathに格納されているxパスはchromeデベロッパーツールから調べます。
デベロッパーツールの開き方
xpathの取得
ログイン
login_btn = driver.find_element_by_xpath("/html/body/div/div/div[2]/div[1]/div[2]/form/input[3]")
login_btn.click()
time.sleep(5)
同じ要領でログインボタンのXPathを取得し、driver.find_element_by_xpathの中に格納します。
login_btn.click()でログインボタンをクリック、するとログイン後の画面が表示されます。
これで完成です。
次の記事ではJava Scriptを使用したwebページのスクレイピングを行っていきます。
参考URL
ログインパス・IDの自動入力参考URL
https://blog.n-hassy.info/2021/05/selenium-chrome-scraping/
ログインボタンを自動でクリックする
https://techacademy.jp/magazine/33697