SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Power Automate Desktopチュートリアル

無償デスクトップ自動化ツール「Power Automate Desktop」にタイマー機能を加え、任意にフローを実行する

Power Automate Desktopチュートリアル 第22回

  • X ポスト
  • このエントリーをはてなブックマークに追加

呼び出す「ライブストリームをキャプチャするフロー」を作成

 まずは、メインのフローから呼び出されるサブフローについて作成していきます。サブフローでは、以下の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を起動する]アクションを配置します。

図:新しいChromeを起動するアクションの配置
図:新しいChromeを起動するアクションの配置
図:新しいChromeを起動するアクションの設定
図:新しいChromeを起動するアクションの設定

 以下の入力をして保存します。

  • 初期URL:%Url%

[8]ブラウザ内で画面が表示されるまで待機する

 [フローコントロール]アクショングループから[Wait]アクションを配置します。

図:Wait(表示待機)アクションの配置
図:Wait(表示待機)アクションの配置
図:Wait(表示待機)アクションの設定
図:Wait(表示待機)アクションの設定

 以下の入力をして保存します。

  • 期間:%WaitForBrowserLoading%

[9]ファイル名にするため現在日時を取得する

 [日時]アクショングループから[現在の日時を取得]アクションを配置します。

 そのまま、保存します。

図:現在の日時を取得(ファイル名)アクションの配置
図:現在の日時を取得(ファイル名)アクションの配置

[10]日付を書式文字列で変換する

 [テキスト]アクショングループから[datetimeをテキストに変換]アクションを配置します。

図:datetimeをテキストに変換(ファイル名)アクションの配置
図:datetimeをテキストに変換(ファイル名)アクションの配置
図:datetimeをテキストに変換(ファイル名)アクションの設定
図:datetimeをテキストに変換(ファイル名)アクションの設定

 以下の入力/選択をして保存します。

  • 変換するdatetime:%CurrentDateTime%
  • 使用する形式:カスタム
  • カスタム形式:yyyyMMdd_HHmmss

[11]Webページのスクリーンショットを取得する

 [ブラウザー自動化]>[Webデータ抽出]アクショングループから[Webページのスクリーンショットを取得する]アクションを配置します。

図:Webページのスクリーンショットを取得するアクションの配置
図:Webページのスクリーンショットを取得するアクションの配置
図:Webページのスクリーンショットを取得するアクションの設定
図:Webページのスクリーンショットを取得するアクションの設定

 以下のように、必要な項目を入力/選択します。

  • キャプチャ:特定の要素
  • UI要素:(後述)
  • 保存モード:ファイル
  • 画像ファイル:%ShotFolder%\%FormattedDateTime%.png
  • ファイル形式:PNG

 [UI要素]では[UI要素の追加]ボタンをクリックし、以下の手順に従います。

図:UI要素の追加ボタン
図:UI要素の追加ボタン
図:赤枠を表示
図:赤枠を表示
  1. Google Chromeで https://youtu.be/ydYDqZQpim8 を開く
  2. ロードが終わったら、Video要素の上にマウスを近づけて赤枠を表示します。
  3. [Ctrl]+マウスを左クリック

[12]Google Chromeを閉じる

 [ブラウザー自動化]アクショングループから[Webブラウザーを閉じる]アクションを配置します。

図:Webブラウザーを閉じるアクションの配置
図:Webブラウザーを閉じるアクションの配置

[13]実行する

 フローを保存して、実行してみましょう。動作の内容が画像ファイルとして保存されていることが確認できます。

図:実行結果
図:実行結果

 このフロー(BrowserShotFlow)のデザイン画面は閉じて構いません。

次のページ
待機時間を制御する全体のフローの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Power Automate Desktopチュートリアル連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 飯島 聡(WINGSプロジェクト イイジマ サトシ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17978 2023/08/21 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング