LoginSignup
1
4

More than 5 years have passed since last update.

Selenium Webdriverを使い、対象URLをブラウズしてキャプチャを取得する

Last updated at Posted at 2018-12-27

Selenium Webdriverで簡易的なブラウザテストを行いました
1500ページ弱のキャプチャが必要だったので、だいぶ捗りました

やりたいこと

  • 対象URLをブラウズしてキャプチャを取得する

事前準備

同一ディレクトリに下記を配置します。

  • url.txt (テスト対象URL)
  • web_test.py (実行スクリプト)
  • images/ (画像格納フォルダ)

テスト対象URL一覧作成(url.txt)

basic認証が面倒だったので、URLに直で書きました
下記のように改行区切りで一覧を作成します

https://id:password@テスト対象DNS/
https://id:password@テスト対象DNS/about/

スクリプトの実行

動作環境

$ pip3 list
Package    Version
---------- -------
Pillow     5.3.0  
pip        10.0.1 
selenium   3.14.1

$ python3 -V
Python 3.7.0

web_test.py 実行

from selenium import webdriver
from PIL import Image
import time

# Webdriver
browser = webdriver.Chrome(executable_path='/Library/Frameworks/Python.framework/Versions/3.7/selenium/chromedriver')

# url一覧を読み込ませる
f = open('url.txt')
urlList = f.read()
f.close()
urls = urlList.split('\n')

count = 1

for url in urls:

  # コンソールに対象URLを表示
  targetUrl = str(count) + ":" + str(url)
  print(targetUrl)

  # 対象urlをブラウズ
  browser.get(url)
  time.sleep(3)

  # 画面キャプチャを取得
  imagefile = "images/dev_test_" + str(count) + ".png"
  browser.save_screenshot(imagefile);
  time.sleep(3)

  count += 1

キャプチャの取得には、Python Imaging Library (PIL)を使いました
images/配下にdev_test_(nunmber).pngで画像が入っていきます

課題

ページサイズによっては画像が見切れてしまう。フルスクリーンで画像を取得するように修正するべき
スクリプト起動後、最初にブラウザでUserAgentを切り替えればスマホビューでもテストを行うことができますが、コードでの切り替え方法を模索中

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4