概要
仕事中、複数のWEBアプリ上で申請操作が必要だが、控えめに言って面倒くさい。
自動化したい。
せっかくなので興味のあったSeleniumを使ってみる。
環境
Windows 10 Pro
python-3.11.2
Chrome 110.0.5481.178
準備
Visual Studio Code
インストールの過程は省略。
その後、VS Codeからpyファイルを新規作成する。(ここではtest.pyとして記載)
Python
Python をダウンロードする。
Download Python 3.x.xx というボタンからexeをダウンロードした。 www.python.orgexeを実行しInstall Nowをクリック。
Add Python.exe to PATHにチェックを入れること。
3.Pythonインストール後、環境変数PATH反映のためパソコン再起動する。
chromedriver
- 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をダウンロードした。