続・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]