【Python】Chromeを操作する【Webスクレイピング】

CODE,Python

seleniumとChromeDriverを使ってブラウザ(Chrome)を操作します。

ブラウザの起動と終了

ブラウザを開いて5秒後に閉じるだけの動作テストコードです。

# ----------------------------------------
# モジュールのインポート
# ----------------------------------------
import time
from selenium import webdriver


# ----------------------------------------
# 変数の設定
# ----------------------------------------
# ChromeDriverの絶対パス
cd_path = '\\...\\...\\chromedriver.exe'


# ----------------------------------------
# 処理開始
# ----------------------------------------
# ブラウザを起動
driver = webdriver.Chrome(cd_path)

# Googleを開いて5秒後に閉じる
driver.get('https://www.google.com/')
time.sleep(5)
driver.quit()

ブラウザの起動にオプションと設定を追加する

ブラウザの起動処理に次のオプションと設定を追加します。

  • ヘッドレスモードで起動(ブラウザが表示されなくなります)
  • ブラウザ起動時のテスト実行警告を非表示
  • DevToolsのログを出力しない
  • ダウンロードフォルダの指定
  • 要素が見つかるまで待つ(一度記述すればOK)
# ----------------------------------------
# モジュールのインポート
# ----------------------------------------
import time
from selenium import webdriver


# ----------------------------------------
# 変数の設定
# ----------------------------------------
# ChromeDriverの絶対パス
cd_path = '\\...\\...\\chromedriver.exe'
# ChromeDriverのオプション
chrome_options = webdriver.ChromeOptions()
# ヘッドレスモードで起動
chrome_options.add_argument('--headless')
# enable-automation:ブラウザ起動時のテスト実行警告を非表示
# enable-logging:DevToolsのログを出力しない
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation', 'enable-logging'])
# ファイルのダウンロードフォルダを指定する
dl_folder = '\\...'
chrome_options.add_experimental_option('prefs', {'download.default_directory': dl_folder})


# ----------------------------------------
# 処理開始
# ----------------------------------------
# ブラウザを起動する
driver = webdriver.Chrome(cd_path, options=chrome_options)
# ブラウザを最大化
driver.maximize_window()
# 要素が見つかるまで最大10秒待つ設定
driver.implicitly_wait(10)

# Googleを開いて5秒後に閉じる
driver.get('https://www.google.com/')
time.sleep(5)
driver.quit()

参考書

技術を確実にするならやはり書籍が頼れます。

CODE,Python

Posted by junichi