【UiPath】縦に長い画面をスクショできる方法を徹底解説!

[box class=”blue_box”] 今回紹介するロボットは、Yahoo!リアルタイム検索のTwitterつぶやき情報をスクリーンショットで画像保存する方法です。
UiPathのアクティビティのスクリーンショット(TakeScreenshot)で撮る方法もありますが、一画面しか取得できないデメリットがあります。今回縦に長い画面をスクロールキャプチャするため、GoogleChromeの機能を活用した方法を紹介します。
[/box]

動画解説

目次

  1. ロボットの作業工程全容
  2. 各工程解説

1.ロボットの作業工程全容

ロボットの作業工程全容

2.各工程解説

  1. Yahoo!リアルタイム検索で話題のキーワードを取得
  2. 取得したキーワードを検索してスクロールキャプチャ

①Yahoo!リアルタイム検索で話題のキーワードを取得

Yahoo!リアルタイム検索
アクティビティ:Start Processを挿入
ファイル名:”C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”
引数:”https://search.yahoo.co.jp/realtime”

データテーブルを構築
データテーブルを構築(トレンドワード/URL)
アクティビティ:Build Data Tableを挿入
上記画像のように設定しましょう。
出力:データテーブル変数 ”list”

データスクレイピング
※データスクレイピングの仕方は動画を参照

アクティビティ:Merge DataTable を挿入
ソース:ExtractDataTable
保存先:list
データスクレイピングで取得したデータをデータテーブル”list”へ追加していきます。

アクティビティ:Assign を挿入
条件式:i=i+1
iの値を1ずつ加算します。

データスクレイピング、フロー条件分岐、CSVに書き込む
アクティビティ:FlowDecision を挿入
条件式:i<5
条件が正⇒データスクレイピングへ
条件が負⇒CSVに書き込む
つまり正の間はずっとループします。

CSVに書き込む
アクティビティ;WriteCsvFile を挿入
ファイルのパス:”Untitled.csv”
データテーブル:list(これはデバッグ用なので任意です)

ここまでで、Yahoo!リアルタイム検索で話題のキーワードを全て取得してリスト化することができました。

②取得したキーワードを検索してスクロールキャプチャ

ホットキーを押下
アクティビティ:Send Hot Keyを挿入
Ctrl+Shift+i キーを押す
Chrome Developer Toolsを起動します。F12キーでも起動できます。
今回はこのChrome Developer Toolsの機能を用います。

繰り返し(各行)
アクティビティ:For Each Row を挿入
コレクション:変数”list”
要素:row (デフォルト設定)
listのデータを1行ずつrowで代入してBody内を実行・ループします。

【Body内】
アクティビティ:BrowserScope を挿入
⇒アクティビティ:Navigate toを挿入
URL:row(“URL”).ToString rowに与えた行の”URL”列を指す
※これはセットで用意しないと動作しません。セレクターの設定にも注意。

アクティビティ:Send Hot Keyを挿入
Ctrl+Shift+p キーを押す
関数を入力することができます。

アクティビティ:Send Hot Keyを挿入
fullを入力
関数Capture fill size screenshotを使います。

Screenshot
この機能でページ全体をスクロールキャプチャすることができます。

アクティビティ:Send Hot Keyを挿入
enter キーを押す
画像が保存されます。

アクティビティ:Deleyを挿入
待機時間:00:00:07
これはお好みです。ダウンロードが正常に開始するのを待ってあげましょう。

【Body終了】これをlistに含まれる行数分ループします。


UiPathを利用すれば、これまで手作業で繰り返していた業務も自動化できるため、大変便利です。個人でも無料で導入できるソフトですので是非利用してみてください。楽しいRPAライフを

[kanren postid=”78059″]
請求書の受け取りはsweeepで自動化

【AI請求書処理】従来の請求書OCRでは対応できない非定型帳票や

自動会計仕訳も、sweeepなら対応可能!最短で即日導入、

面倒な設定不要。手軽に導入して請求業務を効率化。