Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

selenium + pythonな状態でスクショをとる

動作状態を確認したり、なにがしか通知に活かすためスクショが欲しい事ありますよね。
幸い、seleniumにはスクショ機能が備わっています。

実際のところ

SSH接続のリモートデバイスから、特定のサイトにログインしてスクショを撮るだけのサンプルは以下の通り。

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

CHROMEDRIVER = "/usr/local/bin/chromedriver"
URL          = "https://example.com/"

def get_driver():
    options = Options()
    options.add_argument("--remote-debugging-port=9222")
    options.add_argument('--headless')

    return webdriver.Chrome(CHROMEDRIVER, options=options)


if __name__ == '__main__':

    driver = get_driver()
    driver.get(URL)
    filename = 'foobar.png'

    driver.get_screenshot_as_file(filename)

    driver.quit()