PythonアプリをExe化し、ワンクリックでGoogleスクショを取る方法

概要

プラウザのスクリーンショット をワンクリックで行いたい時があったので、備忘録として残します。 selenium は、Python スクリプトを簡単に実行可能ファイルに変換できる便利なツールです。 また、selenium は、Python で プラウザを操作するためのライブラリです。ここでは、PyInstaller と selenium をバンドルしたアプリを開発する手順を説明します。

version 確認

python: v3.11.2
selenium: v4.8.2
pyinstaller: v5.8.0

モジュールのインストール

まずは、selenium をインストールします。以下のコマンドを実行してください。

pip install selenium

次に、pyinstaller をインストールします。以下のコマンドを実行してください。

pip install pyinstaller

driver のダウンロード

次に ChromeDriver のダウンロードが必要になります。 使用している Chrome バージョンに合わせた Driver をダウンロードしてください https://chromedriver.chromium.org/downloads

ダウンロードが完了したら、driver ディレクトリに保存してください

ソースコード全体

from selenium import webdriver

# Google Chromeのドライバーをインストールする
# https://sites.google.com/a/chromium.org/chromedriver/downloads
driver_path = "/driver/chromedriver"

# Google Chromeを起動する
driver = webdriver.Chrome(executable_path=driver_path)

# Googleのトップページを開く
driver.get("https://www.google.com/")

# スクリーンショットを撮る
driver.save_screenshot("google.png")

# ブラウザを終了する
driver.quit()

スクリプトの変換

pyinstaller ./your_script.py --onefile --noconsole --path=./driver/msedgedriver.exe --add-binary './driver/msedgedriver.exe;./driver'

ここで、your_script.py は変換したい Python スクリプトのファイル名に置き換えてください。

このコマンドは、your_script.py を 1 つの実行可能ファイルにまとめ、dist ディレクトリに出力します。

実行可能ファイルの実行

最後に、/dist に生成された実行可能ファイルを実行してください。実行可能ファイルは、Python の実行環境を必要とせず、他の人が簡単に実行できるようになります。

以上が、Selenium を有した Python スクリプトを単一のファイルにまとめ、実行可能ファイルに変換する手順です。PyInstaller を使用することで、Python スクリプトを他の人と共有する際に、Python の環境をインストールする手間を省くことができます。ぜひ、お試しください。

管理しやすいプロジェクト構成(おまけ)

Exe 化について上の方法でうまくいきますが、他プロジェクトメンバーに共有するときは不便です。 ですので npm scripts を記述して、より簡潔にします。

  • 補足 npm scripts を使用するためには、node.js をインストールしてください

バージョン管理のために requipments を作成する

// requipments.txt
pyinstaller >= 5.8.0
selenium >= 4.8.2
// package.json
{
  "name": "pyinstaller_openpyxl",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "install": "pip install -r requirements.txt",
    "start": "python main.py",
    "build": "pyinstaller ./main.py --onefile --noconsole --path=./driver/msedgedriver.exe --add-binary './driver/msedgedriver.exe;./driver'"
  },
  "author": "",
  "license": "ISC"
}

以下ファイルを作成したら、npm scripts を使用して pyinstaller と selenium をインストールします。

npm run install

インストールが完了したら、npm scripts を使用し、Exe 化を行います。

npm run build

プロジェクトについては以下に挙げておくので参照してみてください https://github.com/wiblok/python/tree/main/pyInstaller_selenium