【selenium】ChromeDriver使用後の残データがディスク領域不足を招く件【ゴミファイル】
最近selenium + Chromeでデバッグを行っているとWindows10の通知でCドライブのディスク領域不足がよく表示されるようになった。
ちょくちょくメディアファイルを削除したりして領域を確保していたが、その都度表示されるので何か怪しいなと思い調査してみた。
「ブラウザのキャッシュかな?」と疑ってTempフォルダを調べると意外な物がそこに大量に存在していた。
結果から言うとChromeDriverが作成したディレクトリが今までの使用回数分残っていた。
「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 の自動操作【全自動】
上記からの続きになります。
Pythonインストール後 且
pip install selenium
まで完了していればあとはブラウザのバージョンと一致するChromeDriverのダウンロードをして配置すればseleniumを利用可能です。(もちろんChromeはインストール済)
が、
結局ChromeDriverの取得先だったり、ChromeDriverの配置先だったりがご使用環境によって変わるため初学者の方だといまいちとっつきにくいと思います。。(思いました)
あんなものやこんなものを作ろうと思って意気込んだ矢先に、実行環境が用意できずやる気が削がれてしまうことも少なくないのでは。
さらにブラウザのメジャーバージョンがアップデートされてしまうとChromeDriverも更新(手動でバージョン選択)する必要があり、筆者のようなめんどくさがりはそのたびに「一緒に自動更新してくれや(関西弁)」と普通に感じる。
今回はそう言ったメジャーバージョンの調査や、ChromeDriverの配置等seleniumを動作させる環境をbatひとつで整えるようにしてみた。
00b_WDダウンロード.batや00c_pyへコピー.batも表示しているが00aGCverチェック.batから連続で呼んでいるので叩く必要はない。
動作に問題なければ、動作テスト.batを実行するとGoogle Chromeが立ち上がる。
Google Chromeのアップデートがいつ行われるか確認が面倒な人は00aGCverチェック.batをWindowsスタートアップにでも登録してください。
以上
あくまで今回は「python + uwsc + Chrome」の組み合わせで作ったがChromeがFireFoxでもEdge(chronium)でも同じ動作は可能である。
もちろんそのブラウザ用にソースは書き直す必要があるが。(白目)
お手にどうぞ 😛
【Windows】Python + Selenium で Chrome の自動操作【インストール】
Python のダウンロードとインストール方法について解説します、2021年5月現在、最新のバージョンは Python 3.9.5 となっています。
Pythonのダウンロード
以下の画像を参考にダウンロードしてください。
Pythonのインストール
ダウンロードが完了したらそのままexeファイルを起動しましょう。
インストールのトップページにてインストール先の変更などもできますが、今回はデフォルトのままインストールしています。
但し AddPython *.* to PATH を必ずチェックしてから Install Now をクリックしてください。
忘れると再インストールするか、手動でパスを通すことになり大変面倒です。
seleniumのインストール
コマンドプロンプトを開いて以下のコマンドを入力します。
pip install selenium
Enterでインストールを完了します。
ChromeDriverのダウンロード
さてインストールが終わったので早速コーディングといきたいところですが、まだ環境の構築が完了していないのでいくらがんばっても動作しません。
今回自動動作させるブラウザはGoogleChromeなのでChromeのWebDriverとなるChromeDriver.exeをダウンロードして用意する必要があります。(?)
(WebDriverってなんぞ?と思った方はこちら)
特にWebDriverを理解しなくてもブラウザ操作に必要な物とだけという認識でもかまいません。
筆者はいつもツールでダウンロードしているので手動ダウンロードは今回が初めてでした(汗
ChromeDriverの配置
ChromeDriverのダウンロードが終わったらzipファイルを解凍してください。
ChromeDriver.exeを環境変数PATHを設定した階層に配置します。
.....🐌
わかりづらいので要約すると、ChromeDriver.exeをpython.exeと同じ階層に配置するということです。
ちなみにデフォルトインストールされた方のpython.exeの位置はインストール時の画面にさりげなく表示されていたりします。
(Install Nowのすぐ下)
Windowsユーザ名によってもインストール先は変わるのでこれはあくまで筆者の環境ですが
C:\Users\user\Appdata\Local\Programs\Python\Python39\Python.exe
が存在するので
C:\Users\user\Appdata\Local\Programs\Python\Python39\
に配置すればよいです。
※解凍したchromedriver.exeを貼り付けて完了です。
ここまでお疲れ様でした、慣れない作業だと説明書を読みながらでも疲弊されているかと思います。
次の記事では今回行ったChromeDriverのダウンロード以降の作業を自動化するツールを用意しています。
操作もシンプルにダブルクリック1回のみとお手軽でおすすめです笑
以下記事を参照してください。