URLが場合によって違うブラウザを最前面にしたい

いつもお世話になっております。

IEでMicrosoftのSharePointを開く処理があり、
最初にサインイン画面が表示される場合と、サインイン済みで表示されない場合があります。
画像赤枠部分の「アカウントを選択する」が検出されるかどうかで、サインインの必要・不要を判断しています。
MSサインイン
しかし、IEを開いた時点では最前面にいないことがあり、他のウィンドウに隠れているため、この赤枠部分が検出されずにその後の処理でエラーになる場合があります。
(Studioから実行した場合やバッチ実行した場合はブラウザが隠れていても検出されるようですが、Orchestratorから実行した場合に上記のようになってしまいます。)

ウィンドウにアタッチ等でアクティブにする方法で実装を試みましたが、このサインイン画面とサインインされた状態の画面ではURLが違うためセレクターの指定ができません。

何か良い方法あれば教えてください。
ブラウザはIE必須です。

こんにちは

Element Exists 等の要素検出は、前面・背面によらず取得可能なはずなので、前面にないことが
原因ではないように思えます。
もう少し具体的なセレクターの情報を共有いただくと良いかもしれません。

1 Like

ご回答ありがとうございます。

ブラウザにアタッチで取得したセレクターは以下です。
URLが違うため指定できないと言っていましたが、URLはセレクター内にありませんでした。すみません。

・サインイン画面
<html title='アカウントにサインイン' />
・サインイン済み画面
<html htmlwindowname='{}' title='【SharePointのタイトル】' />

UiExplorerの画面を添付します。
appのiexlore.exeを選んでtitleを*指定できないかと試みましたが、app選択できませんでした…


こんにちは

この内容ですと
サインイン画面で「アカウントを選択する」の有無で判断できそうですが、
これが機能しないということでしょうか?

どのように要素有無を検出しようとしていますでしょうか?
ちなみに、「ブラウザにアタッチ」にはウインドウをアクティブにする効力はありませんので
その点は留意いただいた方が良いと思います。

ありがとうございます。

→ご認識の通りです。先述した通り、Orchestratorからのスケジュール実行時のみ機能しません。

→そうなのですね…!てっきりアクティブになるものだと思っていました。

1 Like

こんにちは

とりあえず原因の把握のために、

Orchestratorからのスケジュール実行時のみ機能しません。

で例外が発生すると思うのですが、その際のスクリーンショットを取得して
画面がどのような状況になっているか、確認した方が良いように思えます。


こんな感じになっているので、てっきり画面が隠れているせいだと思っていました。。

こんにちは

ありがとうございます。

確かかに、表示されている内容がわからないので
その観点からは、Assistantが少々邪魔ですね...

単純には、同一ユーザーでログインして、Assistantの画面サイズを小さくしておく
(右側の部分は表示しないように指定、ウィンドウサイズも小さくしておく)
と内容を確認できると思います。またUR専用のユーザーでしたら、Assistantを
起動しないようにしておいた方が良いかもしれません。

ただ本来は背面にあっても、要素検出は可能なはずなので、今回例外となっている
セレクターはどのようなものか、可能でしたら共有いただくと良いかもしれません。

→取り急ぎ、Assistantを起動しないように設定しました。これって起動していなくてもOrchestratorからの実行は問題なくキックされますよね?

今回例外となっているセレクターは以下です。


ここの url= で指定しているURLは接続したい(ログイン後画面)URLなので、
実際に検出したい要素のURLは https://login.microsoftonline.com/ から始まるものです。

こんにちは

手元の環境でみていますが、以下の要素の有無を検出(Element Exists)アクティビティで
セレクターを以下に設定してみてはと思います。

<html title='アカウントにサインイン' url='https://login.microsoftonline.com/*'>
<webctrl aria-role='heading' tag='DIV' />

その通りにはなりませんでしたが、要素の有無を検出をプラウザを開くのDoの外に出して、
完全セレクターを取得してやってみます。
Studioからの実行は問題なくできました。(これは以前から問題ないのですが)
Orhestrator実行は社内統制上すぐにはできないので、解消しなかったら再度トピックス立てさせていただきます。
ありがとうございます。

1 Like

こんにちは

あくまで個人的な経験上ですが、ブラウザを開く(OpenBrowser)のコンテナは
少々動作が微妙な時があると感じております。そのため、「ブラウザを開く」を使った後、
出力変数を設定し、中身にはなにも配置しない→その変数を使うブラウザをアタッチで
再度コンテナを利用する。
といった配置にすることもあります。
今回のとの因果関係はわかりませんが、完全セレクターでスコープの外にすることにより
効果があるかもしれません。。。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.