航空券予約のときのわずらわしい入力作業を自動化してみました。今回使用するブラウザはgoogle chromeで行う。
chromedriver-binaryをインストールする
Chromeのバージョン番号とChromeDriverのバージョン番号を比較し、Chromeのバージョンに近い数値のChromeDriverのバージョン番号を探してください。
参考
作成
下記の「出発地」「到着地」、「出発日時」、「到着日時」を都合に合わせて書き換える。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import chromedriver_binary
# ブラウザのサイズ指定
options = Options()
options.add_argument("--window-size=1320,1000")
chrome = webdriver.Chrome(options=options)
web_str = "https://www.jal.co.jp/jp/ja/"
chrome.get(web_str)
# 予約画面表示
element = chrome.find_element_by_class_name('reservation-openbtn.JS_moduleOpen.JS_moduleOpenBtn')
element.click()
# 出発地
element = chrome.find_element_by_id('JS_domIntl_departureAirport')
element.send_keys(Keys.BACKSPACE)
element.send_keys(Keys.SPACE)
element.send_keys('出発地')
element.send_keys(Keys.ENTER)
# 到着地
element = chrome.find_element_by_id('JS_domIntl_arrivalAirport')
element.send_keys(Keys.BACKSPACE)
element.send_keys(Keys.SPACE)
element.send_keys('到着地')
element.send_keys(Keys.ENTER)
# カレンダー画面表示
element = chrome.find_element_by_id('JS_domIntl_domLbDepDate')
element.send_keys(Keys.ENTER)
# 出発日付
depday = chrome.find_element_by_id('出発日付')
depday.click()
# 到着日付
arrday = chrome.find_element_by_id('到着日付')
arrday.click()
# 日付決定
element = chrome.find_element_by_id('JS_calConfirmButton')
element.click()
# 検索開始
element = chrome.find_element_by_id('JS_domIntl_submitBtn')
element.click()
input()