こんにちは!ゆーや(@yuyamanm118712)です。
ウェブサイトを自動的に操作できたら、どんなに便利でしょうか。PythonとSeleniumを使えば、フォーム入力、クリック操作、スクレイピングなどが簡単に自動化できます。
この記事では、PythonとSeleniumを使ってウェブサイトの操作を自動化する手順について解説します。特に、具体的なコード例を交えながら、わかりやすく進めていきます。
ただし、むやみやたらに大量のアクセスをすると、
規約に違反する場合もあるので、自己責任でお願いします!
Seleniumとは?
Seleniumは、ウェブブラウザを自動操作するためのツールです。主にウェブアプリケーションのテスト自動化に使用されますが、ウェブスクレイピングやリピートタスクの自動化にも非常に便利です。
Seleniumには、以下のような特徴があります。
- 複数のブラウザ(Chrome、Firefox、Safariなど)に対応
- 各種操作(クリック、フォーム入力、ページ遷移など)を簡単に自動化
- 要素の選択や操作が容易
必要なツールの準備
Pythonのインストール
Pythonがインストールされていない場合は、次の記事を参考にインストールしてください。
Seleniumのインストール
次に、Seleniumをインストールします。ターミナルやコマンドプロンプトで以下のコマンドを実行します。
pip install selenium
Seleniumの使い方
今回は、googleにアクセスして、検索する作業を自動化してみたいと思います!
Googleにアクセス
# selenium関連インポート
from selenium import webdriver
from selenium.webdriver.common.by import By
# time
import time
# Chrome Webドライバーのインスタンス生成
driver = webdriver.Chrome()
# Webドライバーでgoogleにアクセス
driver.get('https://www.google.com')
# ブラウザを閉じない様に制御
input("Enterを押して閉じます")
# ブラウザを閉じる
driver.quit()
たったこれだけのコードでサイトへのアクセスを自動化できます!
テキストを入力する
# selenium関連インポート
from selenium import webdriver
from selenium.webdriver.common.by import By
# Chrome Webドライバーのインスタンス生成
driver = webdriver.Chrome()
# Webドライバーでgoogleにログイン
driver.get('https://www.google.com')
# Webページ操作
# キーボード入力
driver.find_element(By.ID, 'APjFqb').send_keys("完全独学Python")
input("Enterを押して閉じます")
driver.quit()
IDがAPjFqbである要素を取得して、そこにkey入力を行っているよ!
IDの探し方は次のようにしてね!
IDなどの要素を特定する情報の取得方法
ブラウザで、対象のサイトにアクセスし、F12キーを押下して、ディベロッパーツールを起動する
ディベロッパーツールの左上の矢印をクリックし、特定したい要素をクリックする。
HTMLからID情報などを取得する
よく見ると、id=”APjFqb”と書かれているね!
エンターキーを押す(検索する)
# selenium関連インポート
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# Chrome Webドライバーのインスタンス生成
driver = webdriver.Chrome()
# Webドライバーでgoogleにログイン
driver.get('https://yuya-blog.net/')
# Webページ操作
# キーボード入力
driver.find_element(By.ID, 'APjFqb').send_keys("完全独学Python")
# Enterを押下
driver.find_element(By.ID, 'APjFqb').send_keys(Keys.RETURN)
input("Enterを押して閉じます")
driver.quit()
検索結果まで来れたね!
要素をクリックする
# selenium関連インポート
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# time
import time
# Chrome Webドライバーのインスタンス生成
driver = webdriver.Chrome()
# Webドライバーでgoogleにログイン
driver.get('https://google.com/')
# Webページ操作
# キーボード入力
driver.find_element(By.ID, 'APjFqb').send_keys("完全独学Python")
# Enterを押下
driver.find_element(By.ID, 'APjFqb').send_keys(Keys.RETURN)
# 最初のサイトにアクセス
driver.find_element(By.CLASS_NAME, 'LC20lb').click()
input("Enterを押して閉じます")
driver.quit()
これで最初に表示されているリンクに遷移します!
また、クラス名にて要素を取得する例にもなってるので参考にしてください!
使われてるクラス名はディベロッパーツールで探してみよう!
まとめ
PythonとSeleniumを使ったウェブ操作の自動化は、多くのメリットがあります。手作業で行うのが大変な操作を自動化することで、時間と手間を大幅に節約できます。基本的な設定や操作方法を学んだあとは、ログイン、自動スクレイピング、データ入力、フォーム送信など、さまざまなタスクを自動化してみてください。
自動化の世界は無限に広がっています。興味がある方は、さらに高度なスクリプト作成にも挑戦してみてください。
コメント