手っ取り早く python とか uwsc とか 自動化 とか

自動化までの道のりを答え付きで掲載

【selenium】ChromeDriver使用後の残データがディスク領域不足を招く件【ゴミファイル】

最近selenium + Chromeデバッグを行っているとWindows10の通知でCドライブのディスク領域不足がよく表示されるようになった。

 

ちょくちょくメディアファイルを削除したりして領域を確保していたが、その都度表示されるので何か怪しいなと思い調査してみた。

 

「ブラウザのキャッシュかな?」と疑ってTempフォルダを調べると意外な物がそこに大量に存在していた。

結果から言うとChromeDriverが作成したディレクトリが今までの使用回数分残っていた。

 

f:id:pyZiro:20210531193214p:plain

scoped_dir*~」で始まるディレクトリが172個(約20GB)存在した。

 

ChromeDriverを使用したseleniumが正常終了せず途中で落ちたり、エラーが出たりするとフォルダが削除されないとありました。

作成中やデバッグ中はコードミスのエラーも多発するので上記のディレクトリはちょくちょく手動で消したほうが良いという結論に至ったため、下記に簡単なbatプログラムのコードを記載しておきます。

 

rem ChromeDriverDel.bat
echo off
cd /d %TMP%
del screenshot*.png
for /F %%a in ('dir /ad /b /w scoped_dir*') do rmdir /S /q %%a
pause

上記をメモ帳に記載して「〇〇〇.bat」という名前で保存すると使用できます。

 

# selenium

# Chrome

【zip有】Python + Selenium で Chrome の自動操作【全自動】

pyziro.hatenablog.com

 上記からの続きになります。

 

Pythonインストール後 且

pip install selenium

まで完了していればあとはブラウザのバージョンと一致するChromeDriverのダウンロードをして配置すればseleniumを利用可能です。(もちろんChromeはインストール済)

が、

結局ChromeDriverの取得先だったり、ChromeDriverの配置先だったりがご使用環境によって変わるため初学者の方だといまいちとっつきにくいと思います。。(思いました)

あんなものやこんなものを作ろうと思って意気込んだ矢先に、実行環境が用意できずやる気が削がれてしまうことも少なくないのでは。

 

さらにブラウザのメジャーバージョンがアップデートされてしまうとChromeDriverも更新(手動でバージョン選択)する必要があり、筆者のようなめんどくさがりはそのたびに「一緒に自動更新してくれや(関西弁)」と普通に感じる。

 

ChromeDriverUpdate

今回はそう言ったメジャーバージョンの調査や、ChromeDriverの配置等seleniumを動作させる環境をbatひとつで整えるようにしてみた。

 

エクスプローラキャプチャ

00b_WDダウンロード.bat00c_pyへコピー.batも表示しているが00aGCverチェック.batから連続で呼んでいるので叩く必要はない。

動作に問題なければ、動作テスト.batを実行するとGoogle Chromeが立ち上がる。

Google Chromeのアップデートがいつ行われるか確認が面倒な人は00aGCverチェック.batWindowsスタートアップにでも登録してください。

以上

 

あくまで今回は「python + uwsc + Chrome」の組み合わせで作ったがChromeFireFoxでもEdge(chronium)でも同じ動作は可能である。

もちろんそのブラウザ用にソースは書き直す必要があるが。(白目)

ChromeDriverUpdate

 お手にどうぞ 😛

【Windows】Python + Selenium で Chrome の自動操作【インストール】

Python のダウンロードとインストール方法について解説します、2021年5月現在、最新のバージョンは Python 3.9.5 となっています。

Pythonのダウンロード

www.python.org

 

 以下の画像を参考にダウンロードしてください。

 

f:id:pyZiro:20210528101954p:plain

 

Pythonのインストール

ダウンロードが完了したらそのままexeファイルを起動しましょう。

f:id:pyZiro:20210528200008p:plain

インストールのトップページにてインストール先の変更などもできますが、今回はデフォルトのままインストールしています。

但し AddPython *.* to PATH を必ずチェックしてから Install Now をクリックしてください。

忘れると再インストールするか、手動でパスを通すことになり大変面倒です。

 

seleniumのインストール

コマンドプロンプトを開いて以下のコマンドを入力します。

 pip install selenium

 

f:id:pyZiro:20210528202050p:plain

 Enterでインストールを完了します。

 

ChromeDriverのダウンロード

 さてインストールが終わったので早速コーディングといきたいところですが、まだ環境の構築が完了していないのでいくらがんばっても動作しません。

今回自動動作させるブラウザはGoogleChromeなのでChromeWebDriverとなるChromeDriver.exeをダウンロードして用意する必要があります。(?)

WebDriverってなんぞ?と思った方はこちら

特にWebDriverを理解しなくてもブラウザ操作に必要な物とだけという認識でもかまいません。

 

筆者はいつもツールでダウンロードしているので手動ダウンロードは今回が初めてでした(汗

 

ChromeDriverの配置

ChromeDriverのダウンロードが終わったらzipファイルを解凍してください。

ChromeDriver.exe環境変数PATHを設定した階層に配置します。

 

 

.....🐌

 

 

 

わかりづらいので要約すると、ChromeDriver.exepython.exeと同じ階層に配置するということです。

ちなみにデフォルトインストールされた方のpython.exeの位置はインストール時の画面にさりげなく表示されていたりします。

Install Nowのすぐ下)

f:id:pyZiro:20210528200008p:plain

Windowsユーザ名によってもインストール先は変わるのでこれはあくまで筆者の環境ですが

C:\Users\user\Appdata\Local\Programs\Python\Python39\Python.exe

が存在するので

C:\Users\user\Appdata\Local\Programs\Python\Python39\

に配置すればよいです。

 

f:id:pyZiro:20210528210359p:plain

 ※解凍したchromedriver.exeを貼り付けて完了です。

 


 

ここまでお疲れ様でした、慣れない作業だと説明書を読みながらでも疲弊されているかと思います。

次の記事では今回行ったChromeDriverのダウンロード以降の作業を自動化するツールを用意しています。

操作もシンプルにダブルクリック1回のみとお手軽でおすすめです

以下記事を参照してください。

pyziro.hatenablog.com