自分用の備忘録

自分で困ったときのことをまとめておくだけ

【Python】Seleniumで定常業務の自動化を試みる (準備編)

概要

仕事中、複数のWEBアプリ上で申請操作が必要だが、控えめに言って面倒くさい。
自動化したい。 せっかくなので興味のあったSeleniumを使ってみる。

環境

Windows 10 Pro

python-3.11.2

Chrome 110.0.5481.178

準備

Visual Studio Code

インストールの過程は省略。

その後、VS Codeからpyファイルを新規作成する。(ここではtest.pyとして記載)

Python

  1. Python をダウンロードする。
    Download Python 3.x.xx というボタンからexeをダウンロードした。 www.python.org

  2. exeを実行しInstall Nowをクリック。

 Add Python.exe to PATHにチェックを入れること。

Python1

3.Pythonインストール後、環境変数PATH反映のためパソコン再起動する。

chromedriver

  1. chromedriver をダウンロード。

 自分のOSのzip(ここではwin32)をクリックする。 2. zipを解凍し、フォルダ内のchromedriver.exeをWeb画面操作処理を書くpyファイルと同じフォルダに置く。


3.コマンドプロンプトを起動し、以下コマンドを実行する。

pip install selenium

実装

test.pyファイルに以下をコーディングする。

chromeが立ち上がり、googleを開けば準備編としてはOKとする。

# pip install seleniumでインストールしたseleniumのwebdriverを指定
from selenium import webdriver 
# pyファイルと同じフォルダにあるchromedriver.exeを指定
driver = webdriver.Chrome("./chromedriver.exe")
# chromeで開くページのURLを指定 (一旦、グーグル)
driver.get("https://www.google.com") 

# chromeの起動確認のために、止める
input();

トラブルシュート

SessionNotCreatedExceptionが出た

操作

VS Code上からtest.pyを開き、実行→デバッグの実行をクリック。

現象
例外が発生しました: SessionNotCreatedException
Message: session not created: This version of ChromeDriver only supports Chrome version 94
Current browser version is 110.0.5481.178 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Stacktrace:
Backtrace:
原因

Chrome とchromedriver.exeのバージョンが不一致。
(例えばブラウザが110.0.5481.178だったらChromeDriver 110.0.5481.178 をDLするのがベスト)

処置

chromedriver.exeを再ダウンロード+test.pyと同じフォルダへのexe再配置で解消した。
マイナーバージョンまでの完全一致したchromedriver.exeはなかったので、Chrome 110.0.5481.178に対し、chromedriver.exe110.0.5481.77をダウンロードした。

参考

  1. プログラミング初心者でもできるブラウザ自動操作 - Qiita

  2. Selenium API(逆引き)