Else Ifアクティビティの条件文で、文字列A="〇" AndAlso 文字列B="〇"と近い表現はできませんか

UiPath Studio EnterPrise Editionを利用中の初心者です。

1.やりたいこと

EdgeブラウザからGet Textで取得したが文字列A=“〇” 且つ 文字列B="〇"の場合にThen正常系処理、文字列A=“E” 且つ 文字列B="E"の場合に、Else異常系処理に流れるElse Ifアクティビティを作成したい。

2.悩んでいること

文字列A=“〇” 且つ 文字列B="〇"の場合に、Else Ifアクティビティの条件文で、

文字列A=“〇” AndAlso 文字列B=“〇”

と書いたら、処理が異常系に流れてしまった。そこで、文字列A=“〇” 且つ 文字列B="〇"の場合に、Else Ifアクティビティの条件文で、

Not(文字列A=“E”) AndAlso Not(文字列B=“E”)

と書いたら、処理が正常系に流れるようになり実用上問題ないが、論理的には正確ではないため気色悪い。

Else Ifアクティビティの条件文で、文字列A=“〇” AndAlso 文字列B="〇"と近い表現はできないでしょうか。

こんにちは

この条件式は「文字列A=“〇” 且つ 文字列B="〇"の場合にThen正常系処理」に対して正しいので
各文字列が「文字列A=“〇” 且つ 文字列B=“〇”」ではないことを意味しています。
たとえば不要な空白などがある可能性がある場合は

文字列A.Trim="〇" AndAlso 文字列B.Trim="〇"

のようにしてみてはと思います
上記で解消しない場合は、各文字列の内容を精査する必要があります。

デバッグ時にローカルパネルで
文字列A=“〇” 且つ 文字列B="〇"であることは確認済みです。空白文字は入っていませんでした。

文字列A.Trim=“〇” AndAlso 文字列B.Trim=“〇”

は効果が無いのではないでしょうか?他にご提案はないでしょうか?

どのように確認されましたか?ログ出力など見た目では表示されない文字・記号などもありえますので厳密に確認する必要があります。(簡易的には文字列A.Length等で確認する方法もあります)

ご提案のTrimではだめでした。異常系に処理が流れます。ブレークポイントを設定してローカルパネルで値を見ると、文字列A、文字列Bとも"〇" が入っています。"〇"に目に見えない制御記号が含まれる可能性は低いですし、Get Textしたブラウザの箇所を見ても、改行コードなどの制御記号は含まれそうにありません。UiPathのElse Ifアクティビティのバグの可能性はありませんか。

それでは、ログ出力等で以下の3つの式を出力して差の有無を確認してもらえますでしょうか?

String.Join(",",文字列A.Select(function(x) ascw(x).ToString).ToArray)

String.Join(",",文字列B.Select(function(x) ascw(x).ToString).ToArray)

String.Join(",","〇".Select(function(x) ascw(x).ToString).ToArray)

申し訳ありませんが、他にやることがあるので、これだけに多くの時間を割くことはできません。。
実用上は Not(文字列A=“E”) AndAlso Not(文字列B=“E”) で大きな問題はないため、これで対応することにします。いずれにしろ、本件バグでない場合であっても、我々初心者が迷わないような仕様にしていただきたいです。