こんにちは、ミナピピン(@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の更新を自動化してコードの挙動を安定させる
コメント