(Python)Seleniumを使って大学サイトに自動ログイン

programming

こんにちは。わたやんです。

早速やっていきましょう。

僕の大学では、この状況なので全オンライン講義となっています。講義はオンデマンドで講義時間から一週間以内に受ければいいのですが、出席のボタンは講義時間内に押さなければ欠席となります。

押し忘れるのも、毎回ユーザー名とパスワードを入力してログインするのもだるいので自動化したいなぁ〜と。

もしも毎日のWeb操作で自動化したいところがある人は参考にしていただければと思います。

本気のプログラミングスクール【ウェブカツ】

やっていこ

from selenium import webdriver
import time

# GoogleChromeを起動
browser=webdriver.Chrome()
browser.implicity_wait(3)

#ユーザ名とパスワードを変数に格納
USER='ユーザー名'
PASS='パスワード'

#大学サイトにアクセス
url_login="https://kit-sso.cc.kitami-it.ac.jp/portal/login/login.jsp"
browser.get(url_login)
time.sleep(3)

#ユーザー名とパスワードを記入
elem=browser.find_element_by_name('IDToken1')
elem.clear()
elem.send_keys(USER)
elem=browser.find_element_by_name('IDToken2')
elem.clear()
elem.send_keys(PASS)

#ログインボタンを押す
browser_from=browser.find_element_by_xpath('/html/body/div/div[2]/form/table/tbody/tr[3]/td/input')
time.sleep(3)
browser_from.click()


url='https://kit-sso.cc.kitami-it.ac.jp/portal/menu'
time.sleep(1)
browser.get(url)

url2='https://course-p.office.kitami-it.ac.jp/lms/lginLgir/;SID=s175de093c6ed0cd0a5f26fe6a9#'
time.sleep(3)
browser.get(url2)

browsser_from2=browser.find_element_by_name('loginButton')
time.sleep(1)
browser_from2.click()

全体の流れとしては、

Seleniumでブラウザ起動→ログイン画面へ遷移→各要素を取得し、値を入力→次へボタンをクリックって感じ。

time.sleepは次の画面に遷移する前に下のプログラムを実行されるのを防ぐためです。

あとは出席ボタンをクリックするところだけなんですが、講義中しかボタンがないためまた複雑な処理が必要になってくるため、ここからは思考錯誤しながらやってみます。


おわりに

初めてseleniumに触れましたが、もっと応用的に使っていけると感じました。

今回の大学サイト以外にもめんどくさいと感じる日々の作業を自動化していこうと思います。

コメント

タイトルとURLをコピーしました