🦍

Selenium でブラウザ操作を自動化する

2023/07/31に公開

Selenium を利用して Python からウェブブラウザを自動操作する方法を説明します。

🛠️ 事前準備

デバイスやソフトウェアは以下を用いる。

  • 💻 PC端末(macOS)
  • 💿 Python 、🔌 Selenium
  • 💿 Visual Studio Code 、 🔌 Python

1. Pyhton の導入

公式サイトからパッケージファイルをダウンロードし、インストールを済ませておく。
https://www.python.org/

🖥️ terminal
$ # Python のバージョンを表示
$ python3 --version

$ # pip のバージョンを表示
$ pip3 -V

2. Pyhton モジュールのインストール

Pyhton モジュールの Selenium を pip でインストールしておく。

🖥️ terminal
$ # Python パッケージのインストール
$ pip3 install selenium

3. Visual Studio Code の導入

以下の記事を参考に VS Code を導入しておく。
https://zenn.dev/mesgory/articles/d3795c0f94f886

※VS Code には、以下の拡張機能を適用しておく。

  • Python

🎭 作業手順

1. VS Code で開発環境の構築

VS Code を起動してワークスペースを作成する。

🎬 ① エクスプローラー メニューより[フォルダーを開く] を選択し、管理するディレクトリを指定する。

🎬 ② メニューバーの [ファイル] -> [名前を付けてワークスペースを保存 …] を選択する。

名前 タグ 場所
macro.code-workspace ~/Workspace

2. 基本的な操作について

ワークスペースに関連リソースを集約して管理する。


スクリプトの編集画面

ソース・サンプルを以下に示す。

📄 hello-world.py
# ライブラリ読み込み
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

import os
import signal
import time

# ブラウザの起動
browser = webdriver.Chrome()

try:

    # 指定したURLに接続
    browser.get('https://google.com')

    # テキストエリアに検索文字列を設定
    element = browser.find_element(By.XPATH, "//*[@id='APjFqb']")
    element.send_keys('selenium')

    # Enterキーを押下
    element.send_keys(Keys.ENTER)

    # 待機(5秒間)
    time.sleep(5)

    # ブラウザの終了
    browser.close()

finally:

    os.kill(browser.service.process.pid,signal.SIGTERM)

Discussion