Level3-Lesson2 「Clickアクティブティで終了」がうまく動きません

Uipath Acadmyの[Level3]のLesson2に取り組んでいます。

[自動化手引き]のP.5にある、
「ACME System 1」にログインする際にErrorとなった場合に、
指定先にメールを送るところはできたのですが、
Error時にポップアップするウィンドウで「OK」ボタンを押下して
ログイン画面を閉じることが出来ません。

資料には、Clickアクティビティを使用する、とありますが、
ポップアップウィンドウが選択できずにいます。

対策方法を教えていただけないでしょうか。

よろしくお願いいたします。

1 Like

こんにちわ

Clickアクティビティでエラーで止まる状況でしょうか?

返信ありがとうございます。

いえ、エラーが出るわけではくて、Clickアクティビティから、
POPアップしたウィンドウが指定できません。
部品として認識されてない(黄色い枠が出ない)です。

そのため、クリックが出来ず、ログイン画面が閉じられない、となります。

よろしくお願いいたします。

@FNao

ポップアップウィンドウが選択できないのは、
恐らく、Selectorが間違えているかもしれません。

Selectorを確認してください。

Selectorの詳細を見せてもよろしいでしょうか?

こんにちは

お使いのブラウザはChromeでしょうか?
もしそうであれば、JavaScriptが出力するダイアログと相性が悪い可能性があります。
この場合のワークアラウンドとしてはenterキーを送り込む等があるようです。

@FNao

実行中のエラーではなく、ClickアクティビティのOKの指定ができないのですね。
IEではなく、別のブラウザをお使いでしょうか。
その場合は拡張機能のインストールと設定が必要です。

皆様:返信ありがとうございます。
たくさん方から返信いただき、大変心強いです。

ブラウザは、Firefoxで、拡張機能のインストールは済んでいるつもりです。
#Firefoxの拡張機能管理に「Uipath Web Automation」が入っており。
#プライベートウィンドウでも有効と書かれています。

「実行中のエラーではなく、ClickアクティビティのOKの指定ができない」という状況です。

ここで公開してよいか心配ですが、作成中のプログラムを共有したいのですが、どのようにすれば、共有できるのでしょうか・・・。
Studioで「EXCELにエクスポート」してみました。

以下の「1.16 クリック ‘DIV’ (Click)」がうまくいきません。

=========================

1.1 ACMESystem1_Login (Sequence)
プライベート = False
Variables
Password(SecureString)
Username(String)
LoginSuccesful(Boolean)
Activities
1.42 Invoke GetAppCredentials workflow (InvokeWorkflowFile)
ワークフローファイル名 = Framework\GetAppCredentials.xaml
分離 = False
プライベート = False
引数
{ out_Username; value = Username, Type = String, Direction = Out }
{ in_Credential; value = TestRobot-Credential, Type = String, Direction = In }
{ out_Password; value = Password, Type = SecureString, Direction = Out }
1.6 ブラウザーを開く (OpenBrowser)
URL = in_URL
プライベート = False
新しいセッション = True
非表示 = False
ブラウザーの種類 = Firefox
プライベート = False
Body
1.7 DO (Sequence)
プライベート = False
Activities
1.39 ウィンドウを最大化 (MaximizeWindow)
プライベート = False
1.35 文字を入力 ‘INPUT email’ (TypeInto)
テキスト = Username
入力をシミュレート = True
ウィンドウメッセージを送信 = False
入力前にクリック = False
フィールド内を削除 = True
アクティベート = True
ターゲット
セレクター =
準備完了まで待機 = COMPLETE
プライベート = False
1.31 SecureString で文字を入力 ‘INPUT password’ (TypeSecureText)
セキュアな文字列 = Password
入力をシミュレート = False
ウィンドウメッセージを送信 = False
入力前にクリック = False
フィールド内を削除 = True
アクティベート = True
ターゲット
セレクター =
準備完了まで待機 = INTERACTIVE
プライベート = False
1.27 クリック ‘BUTTON buttonLogin’ (Click)
キー修飾子 = None
カーソル位置
X のオフセット = 29
Y のオフセット = 21
位置 = TopLeft
クリックをシミュレート = True
ウィンドウメッセージを送信 = False
クリックの種類 = CLICK_SINGLE
マウスボタン = BTN_LEFT
ターゲット
セレクター =
準備完了まで待機 = COMPLETE
プライベート = False
1.22 要素の有無を検出 ‘push button’ (UiElementExists)
要素の有無 = LoginSuccesful
ターゲット
セレクター =
タイムアウト (ミリ秒) = 3000
準備完了まで待機 = INTERACTIVE
ResultType = System.Boolean
プライベート = False
1.8 条件分岐 (If)
条件 = LoginSuccesful = False
プライベート = False
Then
1.13 シーケンス (Sequence)
プライベート = False
Activities
1.20 メッセージをログ (LogMessage)
メッセージ = “NG!!!”
レベル = Info
プライベート = False
1.18 Invoke SendEmail workflow (InvokeWorkflowFile)
ワークフローファイル名 = Common\SendEmail.xaml
分離 = False
プライベート = False
1.16 クリック ‘DIV’ (Click)
キー修飾子 = None
カーソル位置
位置 = Center
クリックをシミュレート = False
ウィンドウメッセージを送信 = False
クリックの種類 = CLICK_SINGLE
マウスボタン = BTN_LEFT
ターゲット
セレクター =
準備完了まで待機 = INTERACTIVE
プライベート = False
1.14 スロー(Incorrect Credentials) (Throw)
例外 = new UiPath.Core.BusinessRuleException(“LOGINに失敗しました。”)
プライベート = False
Else
1.11 メッセージをログ (LogMessage)
メッセージ = “OK!!!”
レベル = Info
プライベート = False

こんにちわ
@FNao

実行中のエラーではないので、作成中のプログラムは必要ありませんよ。
要素を指定してないため、セレクターも空ですし。。。

Firefoxで使用したことがないため、原因は答えれませんが、
Yoichiさんのアドバイスでやって見るか。もしくは、
学習目的なら、ブラウザうをIEにするのも手だとは思います。

2 Likes

ありがとうございます。
IEで動作するか、試してみます!

こんにちは

Clickアクティビティで以下のセレクターをお試しください。(こちらの環境ではDefault / Simulate Clickとも動作しました。titleは変更する/ワイルドカードを入れる必要があるかもしれません。)

"<wnd app='firefox.exe' cls='MozillaWindowClass' title='ACME System 1 - Account - Log In - Mozilla Firefox' /><ctrl name='OK' role='push button' />"

Yoichiさん

アドバイス頂きながら、返信できずにすみませんでした。

試してみたのですが、うまくいきませんでした。
(エラー時のポップアップ画面の「OK」ボタンが押下されず、Web画面が閉じませんでした)

結局、IEで試してみたら、無事Clickアクティビティで「OK」ボタンを選択できでました。
教えてくださった、Jun1さん、ありがとうございました!!!

Edgeもダメでしたので、IE前提で進めてみようと思います。

アドバイス頂きました皆様、ありがとうございました!!!