条件分岐について エラーコード

超初心者です。
条件分岐を勉強しています。
ヤフーを開いて、任意の画像が出たら・・・という風にやってみたいのですが、
Error ERROR 検証エラー フローチャート ‘フローチャート1’ の FlowDecision を使用する前に、Condition を設定する必要があります。 フローチャート1.xaml

とでて進みません。
何が悪いのでしょうか?
ご教授よろしくお願いします。

エラーに有りますように、フロー条件分岐に、ConditionにBoolianになる式が指定されていません。

hanacchi様
ありがとうございます。
Boolianとは
Booleanのことでしょうか?
条件のVBのエディターに入力するということかと思います。
この画像がでればtrue
そうでなければfalse
ということかと存じます。
どのように式エディターを書けばよいでしょうか?
ご教授よろしくおねがいします。

Booleanの間違えでした。

書き方は、
1)直接Booleanの変数を記述する
2)各メソッドの戻り値がBooleanとなるように式を記述する
ですね。

こんにちは、横からで失礼します。

「画像が出現したとき」アクティビティには出力がありますよね?
画像が出たときと出ない時でこの出力には差が出てくるはずですので、
その差をTrueとかFalseになるように変換してやることでいけるのではないでしょうか。

ちなみに、前提からの問題になってしまいますが「画像が出現したとき」アクティビティは
後続の条件分岐とセットで使うにはあまり向いていない気がします。
1.画像が出現したとき
2.画像の有無を確認
3.画像を探す
と、3種類似たようなアクティビティがあると思いますが、今回はおそらく2.を使った方が
やりたい事が楽に実現できそうな気がしますので、一度試してみても良いかと思います。

1 Like

hanacchi様
rfu様
ありがとうございます。
変数も今勉強中です。
お聞きしたいことが増えました。
そもそも今回は、
サイトにログインしたときに、
1 ログインページが表示される時もあれば
2 ログインページが表示されない時もあるので、

1と2の条件分岐をしたいと考えています。
その場合は、1の画像が出てきた時は・・・2の画面が出てきたときは・・・
など条件分岐が必要なんだろうなと思っています。
私のやりたいことに対して使用するアクティビティは「画像の有無を確認」は合っていますでしょうか?
ご教授よろしくお願いします。

URLを開いてログイン画面が表示されたらログイン処理開始、表示されなかったらエラー終了、
みたいなのはよく作りますね。

あくまで私流のやり方ではありますが、ログイン画面に固有の何かを探して、
見つかったら表示されたとみなす、みたいな、S_B様と似たような考え方で作っています。

ただ、「画像の有無を確認」だと画像認識に頼ってしまうため、誤検知が怖いと思っていますので、
私は似たような判断を行う「要素の有無を検出(Element Exists)」をよく使います。

こいつでログインID入力ボックスとかログインボタンを指定してやれば、
見つかれば出力にそのままBoolのTrue、見つからなければFalseが返ってくるので
一旦変数に格納して、その直後に条件分岐を持ってきてその変数がTrueかどうかで分岐させていますね。

ご参考になれば。

1 Like

皆様ありがとうございます。
超初心者ですので理解ができていません・・・

・「要素の有無を検出(Element Exists)」とは私の場合は「要素の存在を確認 ‘INPUT u’」アクティビティを使用すればよいでしょうか?
・この条件分岐は変数を設定しなければならないということでしょうか?であれば
「要素の存在を確認 ‘INPUT u’」の出力とConditionの下のエディターに同じ文字(式)を入力しなければならないということでしょうか?
・ConditionにBoolianになる式とは→outBooleanをいれるのでしょうか?
https://forum.uipath.com/t/topic/176990/4を参考にしていますが
「‘outBoolean’ は宣言されていません。保護レベルが原因でアクセスできない可能性もあります。 」と出てきます。outBooleanが違うのでしょうか・・・
行き詰っています。ご教授よろしくお願いします。

すみません画像を間違えました!

色々からみあってそうですので一つずつ行きましょう。

いつのまにか地味に和名が変わっていたようですね・・。
見てみた感じそれで大丈夫そうです、ややこしくてすみません。

一般論として、条件分岐には「結果がTrueかFalse(すなわちBoolean型)になる条件式」を設定します。
なので、必ずしも変数だけで表現する必要はないですが、
今回のケースに限って言えば「ログインID入力欄が見つかったかどうか」の条件式を設定したいわけですので、
その結果が格納されている変数を設定してやるのがシンプルな考え方だと思います。

変数の考え方はなんとなく理解できていますでしょうか?
ひとまず以下の点を見直してみて下さい。
・「outBoolean」という名前の変数(名前は何でもいいんですけど)がBoolean型で定義されているか
・また、そのスコープは十分な広さになっているか(画像の例だとPrivate Doの中で使用することになるので、その位の広さが必要そうですね)
・その変数は、「要素の存在を確認」の出力を受け取っているか

とりあえずはこの辺から。ご確認ください。

1 Like

rfu様
ありがとうございます。
教えられたとおりにすると動きました。
わかってきました。
また教えていただくことがあるかと思います。
よろしくおねがいします。

2 Likes