#はじめに
金沢大学のアカンサスポータルにいちいち手動でログインするのがめんどくさくなったので、pythonで自動ログインできるようにしました。
#動作環境
Windows 10 Home(64bit)
python 3.8.7
Chrome 87.0.4280.141(Official Build) (64 ビット)
ChromeDriver 87.0.4280.88
selenium 3.141.0
#seleniumとChromeDriverの導入
一番下の参考文献[1]が詳しく説明していますが、一応軽く説明します。
##selenium
パワーシェルから
pip install selenium
でインストールします。
##ChromeDriver
http://chromedriver.chromium.org/downloads
ここから自分のOSとChromeのバージョンにあったChromeDriverをダウンロードします。
バイナリを直接DLする方法以外にもpipでインストールする方法もあるようです。
#ソースコード
import selenium
from selenium import webdriver
import time
driver = webdriver.Chrome(r"chromedriverを置いてあるディレクトリの絶対パス/chromedriver.exe")
#url指定
url="https://acanthus.cis.kanazawa-u.ac.jp/"
#対象URLでブラウザ起動
driver.get(url)
#title取得
title=driver.title
print(title)
#2秒待機
time.sleep(2)
#ログイン
login_first_btn= driver.find_element_by_xpath("/html/body/div/div/div[1]/div/div[3]/div/a")
login_first_btn.click()
#2秒待機
time.sleep(2)
#ログインIdとパスワードの入力領域の取得
login_id = driver.find_element_by_xpath("//*[@id= 'kuid']")
login_pw = driver.find_element_by_xpath("//*[@id= 'password']")
#2秒待機
time.sleep(2)
#ログインIDとPWを入力
userid= "自分のID"
userpw= "自分のパスワード"
login_id.send_keys(userid)
login_pw.send_keys(userpw)
#ログイン
login_btn= driver.find_element_by_xpath("//*[@id='login_form']/button")
login_btn.click()
##部分的に説明
driver = webdriver.Chrome(r"chromedriverを置いてあるディレクトリの絶対パス/chromedriver.exe")
ChromeDriverをDLした後zipファイルを解凍し、chromedriver.exeをどこかに格納しておきます。格納したディレクトリの絶対パスに/chromedriver.exeを付け加えて上のように記述します。"の前のrを忘れないようにしてください。
#ログインIDとPWを入力
userid= "自分のID"
userpw= "自分のパスワード"
login_id.send_keys(userid)
login_pw.send_keys(userpw)
"自分のID"、"自分のパスワード"の部分には自分の金沢大学IDやそのパスワードを入れてください。平文でパスワードを保存するのは自分で使う分には問題ないと思いますが、衛生上あまりよくないと思う人は環境変数を用いるなどしてみると良いと思います。
#参考文献
[1]https://qiita.com/memakura/items/20a02161fa7e18d8a693