🍌
ジム予約サイトに自動ログインするツール
はじめに
ジム予約サイトに自動でログインするツールを開発し、予約作業の効率化を図ります。
pythonで実装しました。
目的
私は週1回ジムに通っています。ジム予約サイトに自動でログインし、トレーニングジム予約日画面まで自動化するツールを作成しました。
実装したソースコード
実装したソースコードはこちらです。(ユーザー名とパスワード名をマスキングしているため、このソースコードではログインできません)
# ジム予約サイト、自動化ツール
# WebDriverライブラリをインポート
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from time import sleep
# URL変数
target_url1 = "https://www.helloweb.jp/Reservation/Rapport/Members/Account/Login?ReturnUrl=%2fReservation%2fRapport%2fMembers%2f"
target_url2 = "https://www.helloweb.jp/Reservation/Rapport/Members/"
# XPATH変数
xpath1 = '//*[@id="UserName"]'
xpath2 = '//*[@id="Password"]'
xpath3 = '//*[@id="container"]/form/div[2]/input'
xpath4 = '/html/body/div[1]/div/div[2]/ul[2]/li[2]/a'
xpath5 = '//*[@id="container"]/div/div[2]/form[1]/input[6]'
xpath6 = '//*[@id="container"]/div/div/form[1]/input[6]'
# ログインページにアクセスし、ユーザー名、パスワードを自動入力してログインする。
driver = webdriver.Chrome()
driver.get(target_url1)
sleep(5)
text1 = driver.find_element(By.XPATH, xpath1)
text1.send_keys("************")
text2 = driver.find_element(By.XPATH, xpath2)
text2.send_keys("************")
button1 = driver.find_element(By.XPATH, xpath3)
button1.click()
sleep(5)
# ログインしたので、メニューから予約をクリックする
driver.get(target_url2)
menu4 = driver.find_element(By.XPATH, xpath4)
menu4.click()
sleep(5)
#トレーニングジムボタンをクリックする
elem1 = WebDriverWait(driver, 10).until(lambda x: x.find_element(By.XPATH, xpath5))
elem1.click()
# 予約日ボタンをクリックする
elem2 = WebDriverWait(driver, 10).until(lambda x: x.find_element(By.XPATH, xpath6))
elem2.click()
sleep(180)
driver.quit()
実装して思ったこと
予約日時は私のスケジュールと空き状況を鑑みて設定したいため、予約日まで進んだ時に180秒(3分)待機させて、予約日を確定する処理を手動で設定したいと思い、待機時間を設定しました。
Discussion