呼び出す「ライブストリームをキャプチャするフロー」を作成
まずは、メインのフローから呼び出されるサブフローについて作成していきます。サブフローでは、以下のWebページを開き、その時点のVideo要素のスクリーンショットを取得して、ローカルに画像として保存します。
他のライブストリームやWebサイトに置き換えても構いません。要素を抽出するセレクターの指定はそのサイトに合わせて読み替えてください。別サイトとしては、ニュースサイト、天気予報やSNSの投稿など時間で変化するWebの情報を取得して記録することが考えられます。
別の既存フローを使う場合は、3ページ目の「待機時間を制御する全体のフローの作成」まで読みとばして[Desktopフローを実行]アクションでそれを指定しても問題ありません。
[1]新しいフローを作成する
Power Automate for desktopを開きます。トップ画面から[+新しいフロー]をクリックして、適当な名前(ここでは「BrowserShotFlow」)で新規のフローを作成します。
[2]画像を保存するためのフォルダー名を設定する
[変数]アクショングループから[変数の設定]アクションを配置します。
以下の入力をして保存します。
- 変数:%ImageFolderName%
- 値:BrowserShots
[3]ブラウザで開くURLを設定する
同様に、[変数]アクショングループから[変数の設定]アクションを配置します。以下の入力をして保存します。
- 変数:%Url%
- 値:https://youtu.be/ydYDqZQpim8
[4]ブラウザを開いて要素が表示されるまで待機する秒数を設定する
同様に、[変数]アクショングループから[変数の設定]アクションを配置します。以下の入力をして保存します。
- 変数:%WaitForBrowserLoading%
- 値:5
[5]ピクチャフォルダーパスを取得する
[フォルダー]アクショングループから[特別なフォルダーを取得]アクションを配置します。
以下の入力をして保存します。
- 特別なフォルダーの名前:ピクチャ
- 生成された変数:%Pictures%
[6]画像を保存するためのフォルダーを作成する
[フォルダー]アクショングループから[フォルダーの作成]アクションを配置します。
以下の選択・入力をして保存します。
- 新しいフォルダーを次の場所に作成:%Pictures%
- 新しいフォルダー名:%ImageFolderName%
- 生成された変数:%ShotFolder%
[7]Google Chromeを起動する
[ブラウザー自動化]アクショングループから[新しいChromeを起動する]アクションを配置します。
以下の入力をして保存します。
- 初期URL:%Url%
[8]ブラウザ内で画面が表示されるまで待機する
[フローコントロール]アクショングループから[Wait]アクションを配置します。
以下の入力をして保存します。
- 期間:%WaitForBrowserLoading%
[9]ファイル名にするため現在日時を取得する
[日時]アクショングループから[現在の日時を取得]アクションを配置します。
そのまま、保存します。
[10]日付を書式文字列で変換する
[テキスト]アクショングループから[datetimeをテキストに変換]アクションを配置します。
以下の入力/選択をして保存します。
- 変換するdatetime:%CurrentDateTime%
- 使用する形式:カスタム
- カスタム形式:yyyyMMdd_HHmmss
[11]Webページのスクリーンショットを取得する
[ブラウザー自動化]>[Webデータ抽出]アクショングループから[Webページのスクリーンショットを取得する]アクションを配置します。
以下のように、必要な項目を入力/選択します。
- キャプチャ:特定の要素
- UI要素:(後述)
- 保存モード:ファイル
- 画像ファイル:%ShotFolder%\%FormattedDateTime%.png
- ファイル形式:PNG
[UI要素]では[UI要素の追加]ボタンをクリックし、以下の手順に従います。
- Google Chromeで https://youtu.be/ydYDqZQpim8 を開く
- ロードが終わったら、Video要素の上にマウスを近づけて赤枠を表示します。
- [Ctrl]+マウスを左クリック
[12]Google Chromeを閉じる
[ブラウザー自動化]アクショングループから[Webブラウザーを閉じる]アクションを配置します。
[13]実行する
フローを保存して、実行してみましょう。動作の内容が画像ファイルとして保存されていることが確認できます。
このフロー(BrowserShotFlow)のデザイン画面は閉じて構いません。