この記事のレベル
難易度 | |
実用性 | |
学習コスト |
- PythonとSeleniumでブラウザ操作を自動化する方法
- 実際の自動操作サンプルコード
- ブラウザ操作自動化の便利な活用例

この記事はこんな人におすすめ!
- PythonでWebブラウザを操作する方法を学びたい方
- 定型業務を効率化したい方
はじめに
毎日同じWeb操作を繰り返していて、「これ、自動でできたら楽なのに…」と思ったことはありませんか?
たとえば、検索、ログイン、クリックといったルーティン作業など…Pythonを使えば、こうしたブラウザ操作を簡単に自動化できます。
本記事では、PythonでSeleniumを使ってブラウザ検索を自動で行うサンプルコードをご紹介します。
毎日の「手間」を自動化することで、もっと効率的でスマートな働き方ができるようになります。
本記事がその第一歩になれば幸いです。
Selenium(セレニウム)ってなに?
Selenium(セレニウム)は、Webブラウザを自動操作するためのフレームワークです。
もともとはWebアプリのテスト自動化ツールとして開発されましたが、現在では業務効率化やデータ収集などにも幅広く使われています。
SeleniumはJava、C#、Pythonなど複数のプログラミング言語で利用できます。
この記事では、初心者でも扱いやすいPythonでSelenium使い、Webブラウザの操作を自動化する方法を紹介します。

フレームワークとは、「よく使う機能やしくみを、あらかじめまとめて用意してくれている土台のようなもの」です。
Seleniumを使えば、「人がブラウザでやっている操作」はすべて自動化できます。一例として下記のような作業は容易に自動化することができます。
- 勤怠打刻:勤怠システムにログインして「出勤」ボタンをクリック(毎朝実行)
- 在庫確認:複数店舗の在庫情報ページを巡回して、在庫の有無をチェック
- ECサイトの価格チェック:特定商品の価格を取得して、一定以下になったらアラート表示やメール送信
構築環境を準備しよう
ブラウザ操作の自動化コードを作成する前に、構築環境を準備する手順を紹介します。
「環境構築」と聞くと難しそうに感じるかもしれませんが、Pythonは無料で使えるうえ、インストールも数ステップで完了します。
あわせて、コードを試しながら書ける便利なツール「Jupyter Notebook」も導入します。
Jupyter Notebookは、Webブラウザ上でPythonコードを実行できるノート形式のツールです。
1行ずつ動かして結果を確認できるため、Seleniumのような試行錯誤が多いコードにはぴったりです。
ここでは、Windowsユーザー向けのセットアップ手順をご紹介します。
Pythonのインストール手順
1. Pythonをダウンロードする
- Python公式サイト にアクセス
- 上部メニューの「Downloads」にカーソルを合わせ、「Python 3.xx.x」をクリック
※表示されている最新版(3.x系)でOKです。
2. Pythonをインストールする
- ダウンロードされた python-3.xx.x-amd64.exe をダブルクリックしてインストーラを起動
- 最初の画面で2つのチェックボックスにチェックを入れたあと、「Install Now」 をクリック
※「このアプリがデバイスに変更を加えることを許可しますか?」と出たら「はい」をクリック - 「Setup was successful」と表示されたらインストール完了。「Close」をクリックして終了
3. インストール確認をする
- 「コマンドプロンプト」を開き、次のコマンドを入力してEnter
python -V
- 「Python 3.xx.x」と表示されれば、インストール成功です!
Jupyter Notebookのインストール手順
1. Jupyterをインストールする
- 「コマンドプロンプト」を開いたまま、次のコマンドを1行ずつ入力して実行
pip install jupyter
pip install notebook==6.5.7
- しばらく待って、またコマンド入力ができる状態になればインストール完了です
2. Jupyter Notebookを起動する
- 続けて以下のコマンドを入力します
jupyter notebook
- 少しすると、ブラウザが自動的に開き、Jupyterの画面が表示されます
※ファイル一覧が表示されていればOKです。 - 終了する場合は、Jupyterの画面右上にある「Quit(または終了)」を押してから、ブラウザを閉じてください
- 「UPDATE」の案内が表示されたら「Don’t show anymore」を押せばOKです。
- 起動時に「ModuleNotFoundError: No module named ‘distutils’」と出た場合は、次のコマンドを実行してください。実行後にもう一度jupyter notebookを実行すれば起動できます。
pip install setuptools
Seleniumを使った自動化コードの書き方を理解しよう
ここからは、実際にSeleniumでブラウザ操作を自動化するコードを書いていきます。
今回はサンプルとして、Yahoo! JAPANを開き、「プロ野球 結果」と検索し、表示された検索結果の中から「プロ野球 日程・結果 – スポーツナビ」というページを見つけて開くところまでを自動化してみましょう。
まずはコード全体を見てみよう
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# 1. Chromeブラウザを起動
browser = webdriver.Chrome()
# 2. Yahoo! JAPAN トップページにアクセス
browser.get("https://www.yahoo.co.jp/")
time.sleep(2)
# 3. 検索ボックスに「プロ野球 結果」と入力して検索
search_box = browser.find_element(By.NAME, "p")
search_box.send_keys("プロ野球 結果" + Keys.ENTER)
time.sleep(3)
# 4. 「プロ野球 日程・結果 - スポーツナビ」という記事タイトルのリンクをクリック
target_title = "プロ野球 日程・結果 - スポーツナビ"
links = browser.find_elements(By.CSS_SELECTOR, "a")
clicked = False
for link in links:
if target_title in link.text:
link.click()
clicked = True
break
if not clicked:
print("指定のリンクが見つかりませんでした。")
# 5. ページが表示されたまま数秒待機
time.sleep(5)

上記のコードを実行すれば、ブラウザ操作が自動で行われます。
まずは実行し自動で動くことを確認してみてください。
このコードで何をしているのか?
このコードでは、次のような流れで操作を自動化しています。
- Chromeを立ち上げる
- Yahoo! JAPANのトップページにアクセス
- 「プロ野球 結果」と検索ボックスに入力してEnter
- 検索結果の中から「プロ野球 日程・結果 – スポーツナビ」というタイトルのリンクを見つけてクリック
- 表示されたページを5秒間開いたままにして終了
ステップごとに見てみよう
ブラウザを起動する
browser = webdriver.Chrome()
この1行で、Chromeブラウザが自動で立ち上がります。
サイトにアクセスする
browser.get("https://www.yahoo.co.jp/")
get() メソッドを使うと、指定したURLにブラウザでアクセスできます。今回はYahoo! JAPANのトップページにアクセスしています。
検索ボックスに文字を入力して検索する
search_box = browser.find_element(By.NAME, "p")
search_box.send_keys("プロ野球 結果" + Keys.ENTER)
Yahoo!の検索ボックスは name="p"
になっているので、By.NAME
で指定して要素を取得し、send_keys()
で文字を入力します。最後に Keys.ENTER
を付けることで、検索が実行されます。
※各要素の取得条件(今回はname)は、ブラウザの開発者ツールを利用して指定して下さい。
指定したタイトルのリンクをクリックする
target_title = "プロ野球 日程・結果 - スポーツナビ"
links = browser.find_elements(By.CSS_SELECTOR, "a")
clicked = False
for link in links:
if target_title in link.text:
link.click()
clicked = True
break
検索結果ページに表示されているすべてのリンク(a
タグ)を取得し、ループで1つずつテキストを確認します。目的のタイトルが見つかればクリックします。
ページをしばらく表示する
time.sleep(5)
最後に5秒間そのページを表示した状態にして、動作確認ができるようにしています。自動化処理の中で、次の操作を待つ場合などにもよく使われる方法です。
まとめ
この記事では、PythonとSeleniumを使って、ブラウザ操作を自動で実行する方法を紹介しました。
具体的には、
- PythonとJupyter Notebookのインストール方法
- Seleniumの基本的な使い方
- 実際にYahoo! JAPANで「プロ野球 結果」を検索し、目的のページにアクセスするサンプルコード
- コードの構成や動きの解説
などを通じて、「人の代わりにブラウザ操作をしてくれる」Seleniumの力を実感いただけたのではないでしょうか。
最初はサンプルをマネするだけでもOK。コードを少しずつ自分の作業に合わせてカスタマイズしていくことで、あなた専用の“自動化ツール”が完成します。
ぜひ、今日紹介したコードを実行し、明日からの作業をもっと快適に、もっとスマートにしてみてください。
さらに学びたい方へ
「ワンランク上のビジネススキルを身につけたい」
そんな方に注目されているのが、オンライン学習サービスです。
中でも特におすすめなのが、人気の2大サービスSchoo(スクー)
とUdemy(ユーデミー)
。
特徴や違いを比較しながら、あなたに合った選び方をわかりやすく解説します。
SchooとUdemyの特徴は?
あなたに向いているのはSchoo?Udemy?
- まずは無料で試してみたい人
- 月額定額で色んな講座を受けたい人
- ビジネススキル全般を学びたい人
- 隙間時間でスキルアップしたい人
- 講座単位で支払いをしたい人
- 特定の知識・スキルを学びたい人
- 学習の時間を集中的に確保できる人
コメント