Webフォームに手動でデータを入力するのは、特に大量のデータを扱う場合、非常に時間がかかる作業です。しかし、Pythonを使えば、これを自動化することができます。本記事では、PythonのSeleniumライブラリを使って、Webフォームに自動でデータを入力する方法を初心者向けに解説します。具体的には、事前に準備した5件のデータを使って、フォームに入力し、送信する一連の流れをコード付きで紹介します。
【ITエンジニア特化LP】アサイン|20代ハイエンド層の転職エージェント
1. Seleniumとは?
Seleniumは、Webアプリケーションのテストを自動化するためのツールです。Webブラウザを操作して、指定された動作を実行することができます。例えば、ブラウザを開いてURLにアクセスし、特定の要素に対して操作を行い、結果を取得する、といった一連の操作をスクリプトで記述できます。
2. 環境の準備
必要なもの
– Pythonインストール済みのPC
– Webブラウザ(今回はGoogle Chromeを使用)
– ChromeDriver(ブラウザを操作するためのドライバ)
必要なPythonライブラリのインストール
pip install selenium
ChromeDriverのダウンロード
Chromeのバージョンに対応した[ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/downloads)をダウンロードし、適切なディレクトリに配置します。
3. Webフォーム自動入力ツールの作成手順
1. 必要なライブラリのインポート
2. WebDriverの設定
3. データの準備
4. Webフォームへの自動入力処理
4. サンプルコードの解説
以下に示すコードは、事前に準備した5件のデータをWebフォームに自動で入力し、送信するものです。
※:プログラム中の サイト は、テスト用に作成したページなので実際は入力したものはどこにも送信されません。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# ChromeDriverを使用するための設定
driver = webdriver.Chrome()
# 事前に準備する5件のデータ
data_list = [
{"name": "山田太郎", "address": "東京都千代田区1-1-1", "phone": "090-1234-5678", "email": "taro.yamada@example.com"},
{"name": "鈴木一郎", "address": "大阪府大阪市1-2-3", "phone": "080-2345-6789", "email": "ichiro.suzuki@example.com"},
{"name": "佐藤花子", "address": "愛知県名古屋市2-3-4", "phone": "070-3456-7890", "email": "hanako.sato@example.com"},
{"name": "高橋次郎", "address": "福岡県福岡市3-4-5", "phone": "060-4567-8901", "email": "jiro.takahashi@example.com"},
{"name": "田中三郎", "address": "北海道札幌市4-5-6", "phone": "050-5678-9012", "email": "saburo.tanaka@example.com"},
]
try:
# ウェブページを開く
driver.get("https://jiijisanpo.com/_test-content/input_test_p1.html")
# ページの読み込みを待機
time.sleep(3)
# 各入力フィールドを見つけて値を入力
name_field = driver.find_element(By.ID, "name")
address_field = driver.find_element(By.ID, "address")
phone_field = driver.find_element(By.ID, "phone")
email_field = driver.find_element(By.ID, "email")
submit_button = driver.find_element(By.XPATH, "//button[@type='submit']")
clear_button = driver.find_element(By.ID, "clearButton")
for data in data_list:
# 各入力フィールドに値を入力
name_field.clear()
name_field.send_keys(data["name"])
address_field.clear()
address_field.send_keys(data["address"])
phone_field.clear()
phone_field.send_keys(data["phone"])
email_field.clear()
email_field.send_keys(data["email"])
# 入力を確認するために少し待機
time.sleep(2)
# 送信ボタンを押す
submit_button.click()
# 待機
time.sleep(2)
# クリアボタンを押す
clear_button.click()
# 結果を確認するために少し待機
time.sleep(2)
finally:
# WebDriverを閉じる
driver.quit()
コードのポイント
1.WebDriverの設定:`webdriver.Chrome()`を使ってChromeDriverを起動します。
2.データの準備:`data_list`に5件のデータを用意します。
3.ページの読み込み:指定のURLを開き、ページの読み込みが完了するまで待機します。
4.入力フィールドの取得:各入力フィールドをIDで取得し、データを入力します。
5.送信とクリア:送信ボタンとクリアボタンを操作し、一連の処理を行います。
5. 実行結果
このスクリプトを実行すると、以下のような結果が得られます:
1. 指定されたURLのWebフォームが開きます。
2. `data_list`の各データが順番に入力され、送信されます。
3. 各データの送信後にフィールドがクリアされ、次のデータが入力されます。
未経験でも気軽に!サブスク型プログラミングスクール【Freeks】
6. まとめとPythonのメリット
Pythonを使うことで、手動で行うと非常に時間がかかる作業を自動化し、効率的に処理することができます。Seleniumを活用することで、Webアプリケーションのテストやデータ入力を自動化することができ、業務の効率化に大きく貢献します。
このように、Pythonの基本を学ぶことで、日常の業務を大幅に効率化できるスクリプトを作成することが可能です。もし、さらに詳しい情報やサポートが必要な場合は、ぜひPythonスクールの利用を検討してみてください。専門的なサポートを受けながら学習を進めることで、より高度なスクリプトの作成や問題解決がスムーズに行えるようになります。
コメント