続・Selenium+PhantomJSで縦長のスクリーンショットを撮る

前のエントリのSeleniumとPhantomJSを使ってブラウザを起動しないでスクリーンショットを撮るスクリプトの汎用化をpythonの勉強がてら。

[shell] python scsho.py "http://sra.dbcls.jp/" [/shell]

以下のスクリプトをscsho.pyとして、コマンドライン引数としてURLを入れることでそのページのスクリーンショットがscshoXXXXX.pngというファイル名で保存されるようにした。XXXXXはそのスクリプトを実行した時のpid(プロセスID)。

[python] import sys import os argvs = sys.argv pid = os.getpid() png = "scsho" + str(pid) + ".png" from selenium import webdriver driver = webdriver.PhantomJS() driver.get(argvs[1]) driver.save_screenshot(png) driver.quit() [/python]

キャストしないといけないとか懐かしかったり。下手の横好きですが、積極的にコードを書き散らかしていこうかと。

好きこそものの上手なれ

追記: 5行目は以下のような埋め込みができるとご指摘を頂きました。コメントありがとうございます。

[python] png = "scsho{}.png".format(pid) [/python]


Written by bonohu in misc on 木 24 7月 2014.