Python

Selenium WebDriverderでプロセス終了させメモリ枯渇を防ぐ方法

2018年10月3日

こんにちは!土門大貴(daikidomon)です。

Selenium WebDriverder」でスクレイピングプログラムを実行していますと、

ブラウザのプロセスが大量に残ってしましメモリが枯渇してしましました。

今回はメモリが枯渇しないように処理週後にプロセスをきちんと終了させる方法を紹介します。

プロセスの終了方法

プロセスの終了方法は簡単で「close()」、「quit()」メソッドを利用すれば大丈夫です。

from selenium import webdriver

# ドライバーを宣言
driver = webdriver.Chrome()

~~~各種処理を記載~~~

# ドライバーを終了させる
driver.close()
driver.quit()

今回はGoogle Chromeドライバーを使用しています。

driver.close()とdriver.quit()の違い

では「driver.close()」と「driver.quit()」の挙動の違いについて説明します。

driver.close():アクティブになっているタブを終了

driver.close()」をアクティブになっているタブのみ終了させます。

スクレイピングするページによっては新規にタブが起動している場合もあるため、「close()」だけだとプロセスが残り続ける可能性があります。

driver.quit():すべてのタブを閉じてブラウザを終了

driver.quit()」をすべてのタブを閉じてブラウザを終了させます。

そのためスクレイピングした後やエラーとなった場合には「quit()」でプロセスを完全に終了させるようにしましょう。

関連記事

-Python

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.