今回は、「Selenuim」を使って、「freee 会計」に自動でログインするプログラムを作ってみました。
ログインをしたら、スクリーンショット撮影してブラウザを終了するまでが今回の流れです。
目次
「Selenium」の基本設定
「Selenium」の基本設定の方法は、以下をご覧ください。
【Python3】「Selenium」をインストールして「Google Chrome」を自動操作してみた!
今回はMacOS上で、「Selenium」を導入してChromeの自動操作をテストしてみました。動作イメージは以下の通りです。 動作イメージ。実行後、自動で動いています。 動作環…
プログラムの作成
実際に、「freee」に自動でログインするプログラムは以下の通りです。
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
# freee のログインURL
url = "https://accounts.secure.freee.co.jp/login"
# freee のユーザIDとパスワード
user_id = "ユーザーIDを入力"
password = "パスワードを入力"
# シークレットモードで起動
options = Options()
options.add_argument('--incognito')
driver = webdriver.Chrome(service=Service('chromedriver_107.exe'), options=options) # Chrome Driver
# 待機時間の設定(10秒)
driver.implicitly_wait(10)
driver.get(url) # URLを開く
driver.maximize_window() # ウィンドウを最大化
# ユーザーIDを入力
driver.find_element("xpath", '//*[@id="login_id"]').send_keys(user_id)
# パスワードを入力
driver.find_element("xpath", '//*[@id="login-page"]/div/form/div/div/div[3]/input').send_keys(password)
# ログインをクリック
driver.find_element("xpath", '//*[@id="login-page"]/div/form/div/div/div[5]/input').click()
# 待機時間の設定(10秒)
driver.implicitly_wait(10)
# 「freee会計」を開く
driver.find_element("xpath", '//*[@id="root"]/main/div[2]/div[2]/div/section/div/div[2]/div/table/tbody/tr[3]/td/div/ul/li[1]/a').click()
# 「freee会計」のホーム画面をキャプチャ
driver.save_screenshot("./Desktop/freee_kaikei_home.png")
# 処理終了
driver.quit()
画面をキャプチャするだけなので、テスト動作と大きく変わりませんが、
カスタマイズすることで毎月決まった明細のアップロードなど、手間をなくせて便利な利用方法はいくつもありそうです。