こんにちは、ミナピピン(@python_mllover)です。
今回はブラウザ操作ツールであるSeleniumを、ブラウザを起動させることなくバックエンドで起動&操作する方法について紹介したいと思います。
下準備
ライブラリをインストールします。
$ pip install chromedriver_binary $ pip install selenium
参考:【Python】Seleniumで使用するWebDriverの更新を自動化してコードの挙動を安定させる
chromedriver_binaryはheadlessモードでブラウザを起動させるために必要なライブラリになります。
Seleniumをheadlessモードで実行する
<サンプルコード>
from selenium import webdriver import time from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import chromedriver_binary import subprocess cmd = 'pip install --upgrade chromedriver_binary' res = subprocess.call(cmd, shell=True) chrome_options = webdriver.ChromeOptions() prefs = {"profile.default_content_setting_values.notifications" : 2} chrome_options.add_experimental_option("prefs",prefs) chrome_options.add_argument('--headless') driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=chrome_options) driver.get('https://www.google.co.jp/')
これでブラウザが立ち上がることなくSELENIUMでスクレイピングを行うことができます。
関連記事:【Python】Seleniumの.textで要素内のテキスト内容が取得できない原因
関連記事:【Python】SeleniumでHTMLをPDF出力して保存する
関連記事:【Python】Seleniumで使用するWebDriverの更新を自動化してコードの挙動を安定させる
コメント