\

PythonとSeleniumを使用してファイルをアップロードする方法について説明します。この記事は、Webページ上でのファイルアップロード操作を自動化するためのガイドです。

Seleniumでのファイルアップロード

Seleniumでのファイルアップロードは、send_keysメソッドを使用します。手動でアップロードする際はボタンを押すためclickメソッドを使いたくなるところですが、以下のように行います。

from selenium import webdriver
import time
from selenium.webdriver.common.by import By
import os

# アップロードするファイルのパス
downloaddir = os.getcwd() + '\\\\testpic.jpg'

# ブラウザの起動
driver = webdriver.Chrome()
driver.get('https://~')  # 対象のWEBサイトを指定

# ページが開くまで3秒待機
time.sleep(3)

# 「ファイルを選択」ボタンの要素を取得
element = driver.find_element(By.NAME, 'fileupload')

# ファイルパスを引数にしてアップロード
element.send_keys(downloaddir)

# 「送信する」ボタンをクリック
btn = driver.find_element(By.ID, 'uploadbtn')
btn.click()

time.sleep(3)

# ブラウザを閉じる
driver.close()

注意点

  • ファイルアップロードの操作は、通常ログイン後のページで行われます。そのため、Seleniumで操作する場合はログイン処理から行うことになりますが、短時間に大量にログイン処理を行うとスパムとみなされCAPTCHA認証が出る場合があります。
  • ファイルアップロードの際には、send_keysメソッドを使用してファイルのパスを指定します。このとき、パスは絶対パスである必要があります。

以上がPythonとSeleniumを使用したファイルアップロードの基本的な手順です。この情報があなたのプロジェクトに役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です