🍌

ジム予約サイトに自動ログインするツール

2024/03/02に公開

はじめに

ジム予約サイトに自動でログインするツールを開発し、予約作業の効率化を図ります。
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