「ブラウザー自動化」を使いこなす

Power Automate Desktop
「ブラウザー自動化」を使いこなす

日々の業務でインターネットを全く使わないというのは、これだけネット社会が進んだ現代においてそう多くはないでしょう。RPAのシナリオを作る際もWebサイトを全く利用しないとなるとできることの幅がかなり限られてしまいます。このページではそんなWebサイトを表示させる機能を持つ「ブラウザー」を自動化させるアクションについて見ていきます。Power Automate Desktopでは「ブラウザー」を扱うアクションが数多く用意されており、メニューを開いてみると直下のアクションが13種類、更にプルダウンメニューが2種類用意されています。このページでは直下のアクションについてひとつひとつ動きを確認していきましょう。

(なお、2022/8/3執筆時点でのアクション数であり、今後、利用できるオプションが増える可能性があります。)

1. Webページに次が含まれる場合

「Webページに次が含まれる場合」アクションを見ていきましょう。このアクションは対象のWebページに指定したUIやテキストが含まれているか否かで条件分岐させることができます。今回は上図フローを実行して動きを確認していきましょう。最初にRPA-ONEのTOP画面を開いて、開いた画面のお問い合わせボタンの有無に応じて、メッセージを表示させるというものです。また、このアクションは「Else」アクションと併せて利用することで、条件が偽となった時の命令も追加することができます。

アクションを追加すると下図設定画面が現われます。最初に対象となるブラウザーインスタンスを指定しましょう。選択するインスタンスがない場合は先にインスタンスを生成する必要があります。インスタンスは「新しい(ブラウザ名)を起動」アクションで作成できます。次にWebページの分岐条件を選択しましょう。次の要素を(含む/含まない)を選択した場合は、その次に指定するUI要素が対象Webページに(存在する/存在しない)ときに真となります。次のテキストを(含む/含まない)を選択した場合は、その次に指定するテキストが対象Webページに(存在する/存在しない)と真となります。

上図の設定でフローを実行しましょう。今回、ブラウザを起動した後は特に何もしないので、当然お問い合わせボタンはなくなりません。なので、分岐条件の結果はTrueとなり、「こんにちは」というメッセージが表示されます。

2. Webページのコンテンツを待機

「Webページのコンテンツを待機」アクションを見ていきましょう。このアクションは対象のWebページが指定した状態になるまでRPAの実行を停めることができます。今回は上図フローを実行して動きを確認していきましょう。最初にRPA-ONEのTOP画面を開いて、お問い合わせボタンがなくなるまで待機させます。なくなったら、メッセージを表示するというものです。

アクションを追加すると下図設定画面が現われます。最初に対象となるブラウザーインスタンスを指定しましょう。選択するインスタンスがない場合は先にインスタンスを生成する必要があります。次にWebページの待機条件を選択しましょう。次の要素を(含む/含まない)を選択した場合は、その次に指定するUI要素が対象Webページ(に現れる/からなくなる)まで動きと停めることができます。次のテキストを(含む/含まない)を選択した場合は、その次に指定するテキストが対象Webページ(に現れる/からなくなる)まで動きを停めることができます。タイムアウトエラーをONにすると、指定した秒数を過ぎたらタイムアウトするようになります。

上図の設定でフローを実行しましょう。今回、ブラウザを起動した後は特に何もしないので、当然お問い合わせボタンはなくなりません。なので、5秒間の待機後はメッセージではなく、タイムアウトエラーが表示されました。

3. 新しいInternet Explorerを起動

「新しいInternet Explorer」を実行すると、Power Automate独自のブラウザーであるオートメーションブラウザーかInternet Explorer(以下、IE)を開くことができます。なお、IEのサポートは2022年6月に終了しているため、IEに関する解説は割愛させていただきます。

アクションを追加すると、設定画面が開きます。「起動モード」はオートメーションブラウザーかIEが選択できます。「URL」では開きたいサイトURLを入力します。「ウィンドウの状態」で最大化して開くかなどウィンドウサイズを選択できます。詳細画面ではキャッシュ情報とクッキー情報をクリアするか選択できます。キャッシュはWebサイトそのものを保存する仕組みで、2度目以降にアクセスしたりするときに高速で表示することができます。クッキーとはログイン情報やユーザーの識別情報を保存する仕組みで、ログインせずにアカウントにアクセスできたりするときはここから情報を拾っています。これらの設定をONにすると、ブラウザーを起動した時点で情報を消去してくれます。何に使うのと思われるかもしれませんが、RPAのように指示された命令を忠実に遂行するような機能を利用する場合は、1回目にアクセスするときと2回目にアクセスするときでブラウザー側の挙動が変わるとうまく対応できない場合があります。「ページが読み込まれるまで待機」では新しくブラウザーが立ち上がるまで次の操作をストップさせます。ONに設定するとタイムアウトさせる秒数と、ポップアップダイアログが表示された時の挙動を設定できます。「カスタム ユーザー エージェント文字列」では、Webサーバーへリクエストする時に提供する端末情報をカスタマイズすることができます。空欄だとデフォルトで設定される値が送られます。

実行すると、オートメーションブラウザーが起動して、指定したURLのWebサイトを開くことができます。ただし、弊社サービスサイトは次世代型の画像形式であるwebp形式を利用しているので、IEに準拠しているオートメーションブラウザーでは画像がきちんと表示されません。とはいえ、先述の通りIEはサポートが終了しているため、他の画像ファイル形式に比べて圧倒的に圧縮率の高いwebpが今後、ますます使われていくようになるでしょう。

4. 新しいFirefox(Chrome、Microsoft Edge)を起動する

「新しいFirefoxを起動する」を実行すると、Firefoxを起動することができます。同様にして、Chrome、Microsoft Edgeも起動することができので、ここで一度に紹介させていただきます。

アクションを追加すると、設定画面が開きます。「起動モード」では新しいインスタンスを起動するか、既に実行中のインスタンスに接続するか選ぶことができます。新しいインスタンスを起動する場合は、開きたいサイトのURLを入力し、ウィンドウサイズを選択します。既に実行中のインスタンスに接続する場合は、「タイトル」「URL」「フォアグラウンドウィンドウ」のいずれかを指定して、インスタンスを識別します。詳細画面ではキャッシュ情報とクッキー情報をクリアするか選択できます。「ページが読み込まれるまで待機」では新しくブラウザーが立ち上がるまで次の操作をストップさせます。ONに設定するとタイムアウトさせる秒数と、ポップアップダイアログが表示された時の挙動を設定できます。「タイムアウト」ではブラウザーが起動しないときのタイムアウトさせる秒数を設定できます。

実行すると、Firefoxが起動して、RPA-ONEのTOPページが開きました。Chrome、Microsoft Edgeでも全く同じようにして起動できます。

5. 新しいタブを作成

「新しいタブを作成」アクションを使うと、指定したブラウザー上に新しいタブが作成され、指定したURL先が表示されます。また、その際に新しいインスタンスが生成され、そのインスタンスから新しいタブを操作できるようになります。

アクションを追加すると下図設定画面が開かれます。最初に操作したいブラウザーインスタンスを指定します。まだ選択できるインスタンスがない場合は先に生成する必要があります。次にタブを作成した時に表示させたい画面URLを指定します。詳細画面では指定したページが読み込まれるまで待機させるかどうかを設定でき、ONにした場合はタイムアウトさせる秒数と、ポップアップダイアログが表示された時の挙動を設定できます。

上図の設定で実行した場合、下図のように実行されます。元々はRPA-ONEのTOPページが表示されたタブがひとつあるだけでしたが、新しいタブが追加され、そこにもTOPページが表示されました。

6. Webページに移動

「Webページに移動」アクションを利用すると指定したURLに遷移したり「→(進む)」や「←(戻る)」を押したときと同じ機能を利用することができます。アクションを追加すると以下の設定画面が開きます。最初に操作したいブラウザーインスタンスを指定しましょう。仮にインスタンスがない場合は先に生成する必要があります。次に「移動」パラメータで「URL」を元に遷移するか、「進む」にするか、「戻る」にするか、「再読み込み」にするかを選べます。URLを指定した場合は遷移させたいURLを指定する必要があります。詳細では遷移先のページが読み込まれるまでRPAを停めるかどうかを設定できます。ONにした場合は追加でタイムアウトさせる秒数と、ポップアップダイアログが表示された時の挙動を設定できます。

上図の設定で実行してみると、元々RPA-ONEのTOPページを開いていましたが、お問い合わせ画面に遷移しました。

7. Webページのリンクをクリック

「Webページのリンクをクリック」すると、Webサイトに貼ってあるリンクをクリックすることができます。アクションを追加すると下図のような設定画面が開きます。「Webブラウザー インスタンス」ではクリックしたいリンクのあるブラウザーインスタンスを指定します。もしまだインスタンスがない場合は先にインスタンスを生成する必要があります。「UI要素」ではクリックしたいリンクを指定しましょう。「クリックの種類」では左クリックや右クリックなどクリックの種類を選択できます。詳細メニューの「物理クリックの送信」ではOFFにしたままではうまく動作しないときなどに利用します。おそらくONにするとクリックされてからそれが実際に機能するまでをユーザーがクリックしたときと同じように動くものと思われます。「ページが読み込まれるまで待機」では、リンク先のページが読み込まれるまで次の動作を待機します。ONにすると、タイムアウトさせる秒数と、ポップアップダイアログが出てきた場合の挙動を設定できます。

今回は下図のようにRPA-ONEのTOPページにある「お問い合わせ」リンクを指定して動きを確認してみましょう。設定は上述のままです。

実行してみると、下図のようにお問い合わせ画面が開きます。

8. Webページのダウンロード リンクをクリック

「Webページのダウンロード リンクをクリック」を使うと、指定したブラウザーのダウンロードリンクからファイルをダウンロードすることができます。ただし、このアクションは2022年8月時点ではオートメーションブラウザー以外のブラウザーは対象外で、エラーがでることに注意が必要です。オートメーションブラウザーとはPower Automate独自のブラウザーみたいなもので、「新しいInternet Explorerを起動」のオートメーションブラウザーを選択すると起動します。

設定画面では最初にブラウザーインスタンスを指定します。次の「UI要素」ではダウンロードリンクを指定します。最後に保存先のフォルダーを選択したら設定終了です。総務省のWebサイトから「情報通信白書」をダウンロードするように設定しています。

上図設定で実行すると、下図のように「Power Automate Automated Web Browser」というタイトルのブラウザが現われます。

後は他のアクションと同じような動きをし、動作終了後に指定したフォルダを開いた時にファイルが保存されていれば成功です。

9. WebページでJavaScript関数を実行

「WebページでJavaScript関数を実行」するとWebサイトでJavaScriptを実行することができます。JavaScriptはプログラミング言語のひとつです。設定画面を開くと、最初に実行したい先のブラウザーインスタンスを設定します。選択するインスタンスがない場合は先に生成する必要があります。次に、JavaScript関数を定義していきます。funcition ExecuteScript() {}の{}の中にコードを書いていきます。JavaScriptに関する説明は割愛しますが、下図の場合は「こんにちは」というアラートを出すように記述しています。今回は返り値がないので、変数の生成をOFFにしていますが、デフォルトだとONになっており、この状態だと関数の最後にreturnを付けて返り値を設定する必要があります。

実行するとアラートが表示されます。

10. Webページの要素にマウスをポイント

「Webページの要素にマウスをポイント」を利用すると指定したUIにマウスをホバー(上に乗せる)した時と同じ効果を与えることができます。とはいえ、実際にカーソルが動くわけではないのでご注意ください。下図のようにホバーして初めて中身のメニューが出てきて、そこをクリックしたいときなどに利用します。

設定画面では2つのパラメータを設定します。最初に対象とするブラウザーインスタンスを選択します。選択するインスタンスがない場合は先にインスタンスを生成する必要があります。次にマウスホバーするUI要素を選択しましょう。単体で使うことは少ないと思いますが、他のアクションと組み合わせながらご利用ください。

11. Webブラウザーを閉じる

最後に「Webブラウザーを閉じる」アクションの動きを見てみましょう。このアクションではすでに生成されたブラウザーインスタンスを指定してブラウザーを閉じることができます。設定画面では閉じたいインスタンスを指定しましょう。実行した時に対象のブラウザーが閉じれば成功です。

以上、「ブラウザー自動化」アクションについても解説でした。RPAでWebサイトの自動化ができるようになると、自動化のできる幅が一気に広がります。他のアクションなどと組み合わせてWebサイトの操作も自動化できるようになろう。

→「Power Automate Desktop」の他の操作も見る

執筆者プロフィール

伊藤 丈裕

(株)サムテックのシステムエンジニア。応用情報技術者資格保有。
27歳の時、営業から完全未経験で転職。開発とWebマーケティングを担当。得意言語はJavaとJavaScript。