現在Python+Selenium+ChromeDriverでRPAツールを作成しているのですが、スクリプトがエラーなどで途中で止まってしまいChromeのプロセスが残っていることがあります。
Chromeプロセスが残っていると、次にスクリプトを実行した際にエラーになってしまいます。
そこで、今回はスクリプト実行時に、起動しているChromeプロセスをすべて終了する方法を実装しました。
試した環境
・Windows 10 Pro v2004
・Python 3.8.5
・Selenium 3.141.0
・Chrome 84.0.4147.135
Chromeプロセスをすべて終了する
Windowsでプロセスを停止するには「taskkill」コマンドを利用します。
今回はChromeのプロセスを終了したいので、「taskkill /im chrome.exe」でChromeのプロセス名を指定します。※ちなみに/imはイメージ名称を指定するオプションです。
さらに確認なくすべてのプロセスを終了するため「/f」オプションを添えて強制的に終了させます。
例としてPythonでのコードを載せます。たったこれだけです。簡単ですね。
print("stop_all_chrome_prcess")
cmd = 'taskkill /im chrome.exe /f'
returncode = subprocess.call(cmd)
print(returncode)
あとはこのコードを関数もしくはクラスメソッドにして、Seleniumを実行する前に実行するようにすればよいだけです。
Pythonのオススメ勉強方法
私がオススメするPython初心者向けの最初に購入すべき書籍は「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全」です。
シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全
この書籍は実際にシリコンバレーの一流エンジニアとして活躍している酒井潤さんが書いた本です。
内容も初心者から上級者までまとめられており、各Lessonも長すぎずに分かりやすくまとめられているので、初心者の方にもおすすめです。
シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全
今回は以上となります。
コメント