現在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を実行する前に実行するようにすればよいだけです。
Selenium実践入門 ―― 自動化による継続的なブラウザテスト (WEB+DB PRESS plus)
Pythonのオススメ勉強方法
私がオススメするPythonの効果的な学習方法は「Udemy(ユーデミー)」によるビデオ学習です。
「Udemy」は、オンライン学習の提供サイトです。学びたい人は多くある講座の中から受講したいコースを選択することができ、動画で学べるのが特徴です。
多くあるPythonのコースの中でもオススメするPythonのコースは以下となります!!
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
このコースでは合計で28.5時間のビデオ講座があって、それらを受講するだけで、Pythonの基礎から応用まで学ぶことができます。
私も購入して受講していますが、内容としては初心者の方から上級者まで対応する幅広い内容になっています。
下手な書籍を何冊か購入するより、この動画コースを最初からじっくりと受けることで総合的なスキルを習得することができるできます。おそらくこれ以上の教材はないと思いますので、絶対おすすめです。
今回は以上となります。
コメント