#3 Selenium の使い方(Python + ヘッドレスブラウザ編)

  Selenium Python  [公開]
icon はしまさ が 2018/01/30 15:30 に投稿 ( icon はしまさ が 2018/01/30 15:35 に編集 <更新履歴> )
  投稿を編集(サインイン)
  ストック
  アンケート回答

  目次

(とりあえず基本的な使い方のまとめ。ページ分割は後でするかも)

用語

ヘッドレスブラウザ

通常 Selenium を使用した場合、GUI上でブラウザが起動する。
その場合、テストの自動実行や情報の自動収集を行おうとすると、ブラウザ起動時間がかかってしまう。
それを避けるため、ヘッドレスブラウザは GUI を起動せずに実行される。
著名なヘッドレスブラウザとして、PhantomJS 、 Google Chrome が存在する。

PhantomJS

http://phantomjs.org/
レンダリングエンジンが Webkit の著名なヘッドレスブラウザの一つ。
ただし、 Google Chrome がヘッドレスモード対応したのを契機に、開発停止が宣言されている。

Google Chrome (ChromeDriver)

https://sites.google.com/a/chromium.org/chromedriver/downloads
元々 Selenium に対応した ChromeDriver はあったが、
Google Chrome 59 からヘッドレスモードに対応した。

Python を使用した簡単なプログラム

ここでは、 Selenium + GoogleChrome ヘッドレスモードを使用して
Webページのスクリーンショットを取得する簡単なプログラムを記載する。

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# Google ChromeDriver の PATH 指定
GOOGLECHROMEPATH = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'

# ヘッドレスモードで Chrome Driver(Selenium) の起動
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(executable_path=GOOGLECHROMEPATH, chrome_options=options)

# GET (例として東海道らぐのサイトを GET します)
driver.get('http://tokaidolug.colorfultime.net/')

# スクリーンショット取得
driver.save_screenshot("test.png")

# Chrome Driver の停止
driver.quit()

 添付ファイル     - [0]


 コメント追加