Help us understand the problem. What is going on with this article?

【Python】SeleniumでHeadless Chromeを使おう

More than 1 year has passed since last update.

目次

準備

  • selenium
  • Chrome(通常版)
  • Chrome Canary
  • Chrome driver

<追記>
Chrome(通常版)でもできますが,プログラムミスで簡単にChromeが起動しなくなるので,普段使いする人はCanaryを使うことをおすすめします。Chromeが起動しなくなった場合の対処法は最後に載せておきます。

selenium

pipでもcondaでもインストール可能です。

>> pip install selenium
>> conda install selenium

Chromedriver

pipまたはcondaで導入すれば,pythonパッケージと同様にバージョン管理ができるほか,import chromedriver_binaryでパスを通すことができるのでおすすめです。別の方法としては,brewでインストールすることもできます。

>> pip install chromedriver-binary
>> conda install python-chromedriver-binary
>> brew install chromedriver

コード例

Google検索画面のHTMLを取得し表示します。Chromedriverはpipまたはcondaでインストールしていることを想定しています。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import chromedriver_binary

# ブラウザーを起動
options = Options()
options.binary_location = '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)

# Google検索画面にアクセス
driver.get('https://www.google.co.jp/')

# htmlを取得・表示
html = driver.page_source
print(html)

# ブラウザーを終了
driver.quit()

Chromeオプション

headless以外にもChromeオプションはいろいろあるので,その中から私がよく使うものを紹介します。

  • headless:ヘッドレス指定
  • hide-scrollbars:スクロールバーを隠す
  • incognito:シークレットモード。拡張機能がオフになったり,履歴が残らなくなる。
  • window-size:ウィンドウサイズ指定

Chromeが開かなくなったときの対処法

一応,私が試した対処法を載せておきます。
PC再起動以外は,治ったり治んなかったりでした。

  • 起動しているChromeのタスクをすべて消去
  • 'headless'オプションを外してプログラム実行
  • PC再起動

その他のヘッドレスブラウザ

derodero24
Pythonで主に画像認識や言語処理について勉強中 JS,Julia,FLutter
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした