Python Selenium 4 と Excel 連携で Web への入力作業を自動化する

Excel シートに記載したキーワードを Web ページへ転記し、結果を取得する一連の処理を Python で自動化する手順をご紹介いたします。最新の Selenium 4 構文に沿ったコード例を提示し、変数名・ファイル名は独自のものに変更しております。


目次

必要ライブラリ

pip install selenium pandas openpyxl
  • selenium: ブラウザ操作
  • pandas + openpyxl: Excel 読み取り(read_excel

サンプルコード(Selenium 4 構文)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd

# Excel から検索キーワードを取得
data_frame = pd.read_excel("keyword_list.xlsx", header=None)
search_keyword = data_frame.iloc[0, 0]

# ChromeDriver 設定(オプションでヘッドレス可)
chrome_options = Options()
# chrome_options.add_argument("--headless")  # 画面非表示で実行したい場合

service = Service()                      # 既定パスの chromedriver を使用
with webdriver.Chrome(service=service, options=chrome_options) as browser:
    # Google 検索ページを開く
    browser.get("https://www.google.co.jp/")

    # 検索ボックスを取得して入力
    search_box = browser.find_element(By.NAME, "q")
    search_box.send_keys(search_keyword)
    search_box.submit()

    # 検索結果の統計情報が表示されるまで待機
    result_stats = WebDriverWait(browser, 10).until(
        EC.presence_of_element_located((By.ID, "result-stats"))
    )
    print(result_stats.text)  # 例: “約 1,230,000 件”

# コンテキストマネージャを抜けると自動でブラウザが終了

コード上の主な変更点

旧構文新構文 (Selenium 4)
Chrome()webdriver.Chrome(service, options)
find_element_by_name()find_element(By.NAME, "q")
find_element_by_id()find_element(By.ID, "result-stats")
time.sleep()WebDriverWait + expected_conditions
  • 待機処理WebDriverWait に置き換え、固定秒数待機によるタイムロスを削減しております。
  • with 構文を用い、quit() の書き忘れによるプロセス残存を防止しています。

実運用に合わせた拡張例

  1. 複数キーワード
    Excel に複数行のキーワードを用意し、for ループで検索を繰り返す。
  2. 結果の書き戻し
    result_stats.text を DataFrame へ格納し、to_excel() で別シートへ保存。
  3. フォーム入力
    企業内システムの申請書など、複数フィールドを一括入力する際にも同じ手法を適用可能。

まとめ

  • pandas で Excel からデータを取得
  • Selenium 4 の最新 API でブラウザを操作
  • WebDriverWait により安定した待機制御を実現

これにより、検索やデータ登録などの定型 Web 操作を Excel 連携で自動化でき、作業時間の短縮とヒューマンエラーの抑制が期待できます。既存業務の手順書に合わせてファイル名や列番号を調整し、ご活用ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次