めーたん
めーたん

なぜかWebサイトのボタンクリックが動作しないんだけど…

ときどきあるね!対応策を教えるよ!

こさい
こさい
この記事でわかること
・Webサイトのボタンクリックが動作しないときの対応策
検証バージョン
OS:Windows10
Power Automate for desktopバージョン:2.22

それでは、どうぞ!

UiPathでWebサイトのボタンがクリックできないときに試すこと

簡単に次のワークフローを作ってみました。このワークフローをもとに解説していきます。

サンプルWebサイトは当社が運営しています。

デフォルトのプロパティを確認しよう

[Click]アクティビティのデフォルトのプロパティは下図の通りです。[クリックをシミュレート]と[ウィンドウメッセージを送信]に何も選択されていません。

ワークフローを実行すると、マウスポインタ―がボタンの上に移動してクリックが行われます。これがデフォルトの動作です。

この動作でボタンがクリックできなかったときのプロパティ設定を解説します。

[クリックをシミュレート]をTrueにする

ブラウザーのボタンがクリックできないときは、[クリックをシミュレート]を「True」にしてみてください。

ワークフローを実行すると、マウスポインタ―は動かずにクリックが実行されます。

[ウィンドウメッセージを送信]をTrueにする

[ウィンドウメッセージを送信]を「True」にしても、同じような動作をしますが[クリックをシミュレート]と併用しようとすると、エラーが表示されます。

[クリックをシミュレート]を「True」にする場合は使えません。

クリックをシミュレートが意味するもの

[クリックをシミュレート]は対象アプリケーションの仕組みを利用します。高速かつバックグラウンドで動作します。注意点は動作しないWebサイトがあることです。テストを行って、動作を確認しましょう。

もう少し詳しく知りたい方は下の「【Memo】3つのクリックモード」をお読みください。

【Memo】3つのクリックモード
  1. デフォルト
    ハードウェア(キーボードやマウス)のデバイスドライバーにWin32API経由で送信する。
  2. ウィンドウメッセージを送信
    Windowsメッセージ(例えば、WM_KEYDOWN、WM_KEYUP、WM_LBUTTONDOWN、WM_LBUTTONUPなど)をセレクターで指定されたウィンドウにWin32API経由で送信する。
  3. 入力をシミュレート
    対象アプリケーションの仕組みを利用する。具体的には、Microsoft社のUIオートメーションというフレームワークを使って操作を行う。対象のUI要素がUIオートメーションでサポートしていない場合は、Microsoft社のActive Accessibilityというフレームワークを使う。
    UIオートメーションとMicrosoft Active Accessibilityについては、以下のURLを参照してください。
    URL UIオートメーションと Microsoft Active Accessibility

まとめ

[Click]アクティビティはデフォルトのプロパティ設定のまま動作することがほとんどです。たまに「なぜかクリックが効かない」というときがあります。

そんな場合に[クリックをシミュレート]を「True」にしてみてください。動作する確率はかなり高いと思います。

関連する記事

UiPathの書籍を出版しています。