前回、Microsoft Edgeのヘッドレスモードおよびスクリーンショットの取得機能を使用することで、Webページのスクリーンショットをコマンドラインから取得できることを示した。今回はこの機能にスクリーンショットのサイズの指定を追加する。スクリーンショットの取得ではサイズが指定できるかどうかはとても大切だ。

前回の成果物

最初に、前回の成果物を確認しておこう。前回はMicrosoft Edgeのヘッドレスモードでスクリーンショットを取得するコマンドを次のようなPowerShellのスクリプト(getss.ps1)にまとめるところまで説明した。次のようなスクリプトができた。

#!/usr/bin/env pwsh

#========================================================================
# スクリーンショットを取得する
#========================================================================

#========================================================================
# 引数を処理
#   -URL url        WebリソースのURL
#   -Agent agent    リクエストで使うエージェントを指定
#========================================================================
Param(
    [Parameter(Mandatory=$true)][String]$URL = ""
)

#========================================================================
# デフォルトのスクリーンショットファイル
#========================================================================
$outfile="${env:HOME}/ss.png"

#========================================================================
# スクリーンショットの取得に利用するアプリケーション
#========================================================================
$msedge='C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'

#========================================================================
# どの方法でスクリーンショットを取得するかを判断
#========================================================================
$method='msedge'

#========================================================================
# Webページのスクリーンショットを取得
#========================================================================
switch ($method)
{
    #================================================================
    # Microsoft Edgeを使って取得
    #================================================================
    'msedge'
    {
        $o1='--headless'
        $o2='--screenshot="' + ${outfile} + '"'

        Start-Process   -FilePath $msedge           `
                -ArgumentList $o1,$o2,$URL      `
                -Wait
        break
    }
}

今回はここにサイズ指定の機能を追加する。

サイズの指定は「--window-size=」で行う

この記事は
Members+会員の方のみ御覧いただけます

ログイン/会員登録(無料)

会員サービスの詳細はこちら