シーン紹介
Python+Selenium+Chrome を使用した自動テスト中に、プログラムがエラーに遭遇して予期せず終了したり、driver.quit() を追加し忘れたりするたびに、chromedriver.exe プロセスがコンピュータのバックグラウンドに常駐し、多数のプロセスが長期的にはコンピュータのリソースを占有してしまうため、プロセスを 1 つずつ終了するのは非常に面倒です。
Windows システムでは、コマンドを使用して、ワンクリックでプロセスをバッチで終了できます。最も標準的な方法は、エラーを引き起こす可能性のあるコードを try ブロックに配置し、driver.quit() を追加する習慣を身に付けることであることに注意してください。
オプション 1
管理者としてコンピューターの cmd を開き、次のコマンドを入力してプロセスを終了します。/F はプロセスを強制的に終了することを意味し、/IM はプロセス名に従ってプロセスを終了することを意味します。
TASKKILL /F /IM chromedriver.exe
オプション II
「batch end chromedriver process.txt」という名前のテキスト ファイルを作成し、そのファイルに上記の指示を入力し、最後にサフィックス名を Bat に変更して、管理者としてバッチ プログラムを実行します。(ウィンドウが終了しないように、ここで一時停止コマンドを入力します)
3番目の解決策
「batch end chromedriver process.py」という名前の py ファイルを作成し、そのファイルに次のコードを入力し、Python で cmd コマンドを直接実行します。
import os
if __name__ == '__main__':
command = 'TASKKILL /F /IM chromedriver.exe'
os.system(command)
出力の文字化けは、Pycharm の出力エンコーディングと cmd の出力エンコーディングの違いが原因で発生するため、この問題を直接無視し、デフォルトの出力エンコーディング形式を変更しないことをお勧めします。