# 要素の有無を検出誤作動 どうしたらいいでしょうか？

**URL:** <https://forum.uipath.com/t/topic/745128>\
**Category:** Studio\
**Tags:** question, excel, uiautomation, activities\
**Created:** [June 3, 2024, 3:35am UTC](https://forum.uipath.com/t/topic/745128 "2024-06-03T03:35:44Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 3, 2024, 3:35am UTC](https://forum.uipath.com/t/topic/745128/1 "2024-06-03T03:35:44Z")

</div>

はじめまして、UiPath超初心者です。  
現在、社内のウェブシステム内で検索 → 検索結果を押下という処理をしたく  
① Excelファイルを範囲選択しDataTableへ格納  
② DataTable内の項目を1件ずつ検索欄へ入力し検索をかける  
③ 検索結果が1件であるか確認するため『要素の有無を検出』アクティビティを使用  
⇧ここで誤判断をしてしまっているようで、その後処理が思うように進みません。

要素の有無を検出のセレクタ【aaname】に、'{{検索項目}}'と指定してみたりしたのですが  
それでも、検索結果があるのにもかかわらず『false』を返します。  
また、2件目がヒットした場合はExcelに『検索結果が2件以上あるため未処理』としたいのですが  
検索結果が1件の場合でも2件目に『true』と返してきてしまいます。

どのように設定すればよいのでしょうか？  
ご教示お願いいたします。

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 3, 2024, 3:39am UTC](https://forum.uipath.com/t/topic/745128/2 "2024-06-03T03:39:00Z")

</div>

> [@k.sakaguchi0804](#):
>
> ③ 検索結果が1件であるか確認するため『要素の有無を検出』アクティビティを使用

要素有無で判断するよりも、表抽出で結果を取得して、その行数から判断したほうが良いようにも思えますがいかがでしょうか？

要素有無で判断する場合は、上記だけの情報では判断ができませんので、セレクターエディタやUiExplorerの情報も含めて詳細共有いただけると良いかと思います。

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 3, 2024, 3:43am UTC](https://forum.uipath.com/t/topic/745128/3 "2024-06-03T03:43:37Z")

</div>

ありがとうございます。

無知で申し訳ございません。  
表抽出というのはウェブサイト上の検索結果（表）を抽出し、  
そのなかから該当するものをクリックする。という認識でよろしいでしょうか？

また、表抽出アクティビティがどこにあるのかわかりません。

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 3, 2024, 3:47am UTC](https://forum.uipath.com/t/topic/745128/4 "2024-06-03T03:47:51Z")

</div>

> [@k.sakaguchi0804](#):
>
> 表抽出というのはウェブサイト上の検索結果（表）を抽出し、  
> そのなかから該当するものをクリックする。という認識でよろしいでしょうか？

まずは１件のみの判断をしたいとのことですので、表抽出によって出力されたDataTableの行数でこれを判断可能かと思います。  
クリックしたいものは、行が１行しかないときに限定されるのであれば、tableRow属性等で固定的に指定しても問題ないと思います。

> また、表抽出アクティビティがどこにあるのかわかりません。

リボンメニュー上に表抽出のWizardが起動できるボタンがありますので、こちらから設定してみてください。

 ![image](https://global.discourse-cdn.com/uipath/original/4X/d/4/3/d430a67d7ca15c33da38d55a2dc4483664584c9c.png)

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 3, 2024, 5:10am UTC](https://forum.uipath.com/t/topic/745128/5 "2024-06-03T05:10:01Z")

</div>

Yoichiさんありがとうございます。  
表抽出、見つけられました。  
こちらで検索対象の項目を選択したことで『ExtractDataTable』に代入にされたようなのですが  
【ExtractDataTable.Rows.Count】で『1』なら要素をクリックするような仕様にすればいいということですかね？

最初に読み込んだエクセルファイルの検索項目を1件ずつ検索→処理→検索→処理…  
としたいのですが、その場合、表抽出した内容はどのように更新されるのでしょうか？

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 3, 2024, 5:57am UTC](https://forum.uipath.com/t/topic/745128/6 "2024-06-03T05:57:11Z")

</div>

> [@k.sakaguchi0804](#):
>
> 【ExtractDataTable.Rows.Count】で『1』なら要素をクリックするような仕様にすればいいということですかね？

実際には取得した表を確認する必要がありますが、きれいに抽出できている場合はそのようになるかと思います。（まれにヘッダ部分を実データとして取り込んでしますケースもあるので、そのようなケースはその分を調整します。）

> 最初に読み込んだエクセルファイルの検索項目を1件ずつ検索→処理→検索→処理…  
> としたいのですが、その場合、表抽出した内容はどのように更新されるのでしょうか？

検索する度に表抽出すれば、下記の追記チェックがOFFなら、都度新たな表として取り込まれると思いますので、特段の処理は不要と思います。

 ![image](https://global.discourse-cdn.com/uipath/original/4X/8/b/d/8bd65ada21ab0fe9302fada0647e0221ffca8bc8.png)

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 3, 2024, 6:14am UTC](https://forum.uipath.com/t/topic/745128/8 "2024-06-03T06:14:18Z")

</div>

> [@k.sakaguchi0804](#):
>
> こちらは警告が出たままでよいのでしょうか？

動作に問題はないと思いますが、気になるようでしたら、最大ページ取得数を1に設定してみてください。

 ![image](https://global.discourse-cdn.com/uipath/original/4X/9/8/6/9869b2f9012fdffbb5b7cebb6a4ad4d5aa48c6a0.png)

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 3, 2024, 6:27am UTC](https://forum.uipath.com/t/topic/745128/9 "2024-06-03T06:27:28Z")

</div>

ありがとうございます！  
無事に警告メッセージが消えました。

表抽出 → 抽出結果が1件なら1件目をクリック（UiPath.Core.Activities.Click）で  
選択したのですが、DataTable1件目（画面上で指定で指定したものと同じ検索番号）  
のものはしっかりクリックしたのですが、以降のデータ（画面上で指定した数字と違う）は  
クリックしてくれませんでした。

UiPath.Core.Activities.Clickの画面上で指定した画像はまんまその文言ではないと  
クリックしてくれないのでしょうか？

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 3, 2024, 6:29am UTC](https://forum.uipath.com/t/topic/745128/10 "2024-06-03T06:29:01Z")

</div>

Clickアクティビティのセレクターはどのようになっていますでしょうか？  
基本的には厳密セレクターを使用し、tableRow属性で指定、変動する属性は除外して指定すると良いかと思います。（UiExplorer等も活用いただくと良いかと思います。）

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 3, 2024, 6:59am UTC](https://forum.uipath.com/t/topic/745128/11 "2024-06-03T06:59:51Z")

</div>

厳密セレクター＝セレクターを編集のことでしょうか？

① Excelファイルを選択し範囲の選択でDetaTableへ  
② 検索欄に row(“検索項目”).ToString()を入力  
③ 代入アクティビティを使用し『検索項目 = row(“検索項目”).ToString()』を宣言  
④ 検索結果を表抽出  
⑤ 表抽出.Rows.Count = 1なら検索結果をクリック

⇧このクリックのセレクタのaaname部分を’{{検索項目}}'としただけであとは変えていません。  
そのほかにも指定してあげなくてはいけないのでしょうか？

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 3, 2024, 8:12am UTC](https://forum.uipath.com/t/topic/745128/12 "2024-06-03T08:12:35Z")

</div>

> [@k.sakaguchi0804](#):
>
> ⇧このクリックのセレクタのaaname部分を’{{検索項目}}'としただけであとは変えていません。  
> そのほかにも指定してあげなくてはいけないのでしょうか？

具体的な検索項目やセレクター内容がないと判断が難しいです。  
ただ検索で対象が１行しかないことが確定しているのであれば、動的セレクターを使わずとも、１行目をクリックすれば実現できるかと思いますし、そちらの方が簡便かと思い上記の案を提示しております。

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 3, 2024, 8:47am UTC](https://forum.uipath.com/t/topic/745128/13 "2024-06-03T08:47:41Z")

</div>

ありがとうございます。

基本は1件ですが、０件の場合は『対象データなし』、２件以上の場合は『複数のため未処理』  
というステータスを持たせたいので、イレギュラーが判断できた方がいいです。  
1行目をクリックするには要素の有無を検出などを使用するのでしょうか？

質問ばかりで申し訳ありませんがよろしくお願いいたします。

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 3, 2024, 8:53am UTC](https://forum.uipath.com/t/topic/745128/14 "2024-06-03T08:53:50Z")

</div>

> [@k.sakaguchi0804](#):
>
> 1行目をクリックするには要素の有無を検出などを使用するのでしょうか？

表抽出したDataTableの行数で判断できるのでその必要はないように思えます。例えば以下の様にすると良いかと思います。（単にIFアクティビティでも問題ないと思います）

 ![image](https://global.discourse-cdn.com/uipath/original/4X/a/1/2/a12e370a87904d2e10c8d11b0bff21cc49281682.png)

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 4, 2024, 5:33am UTC](https://forum.uipath.com/t/topic/745128/15 "2024-06-04T05:33:49Z")

</div>

洋一さんありがとうございます。

無事に表抽出からスイッチ文を使用して条件を  
1件のものをクリック、とすることができました。  
しかし、クリック（UiPath.Core.Activities.Click）を使用して  
対象項目を設定したのですが、  
『このセレクターに対応する UI 要素が見つかりませんでした:』というエラーが  
発生してしまいます。ほかのRPAで使用しているものは正常に動作するのですが…  
なぜなのでしょうか？

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 4, 2024, 5:39am UTC](https://forum.uipath.com/t/topic/745128/16 "2024-06-04T05:39:32Z")

</div>

> [@k.sakaguchi0804](#):
>
> 『このセレクターに対応する UI 要素が見つかりませんでした:』というエラーが  
> 発生してしまいます。

こちら詳細（エラーメッセージ全文等）共有可能でしょうか？

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 4, 2024, 5:46am UTC](https://forum.uipath.com/t/topic/745128/17 "2024-06-04T05:46:13Z")

</div>

## 以下になります。 （タグ情報が反映されないようなので後ろの/\>は削除しました。）

1件目のデータを押下: このセレクターに対応する UI 要素が見つかりませんでした:  
[1] \<html app=‘chrome.exe’ htmlwindowname=‘\<td class style="text-align: center;"\>’ title=‘S検索画面’  
[2] \<webctrl aaname=‘'P010-000000'’ parentid=‘content’ tag=‘A’

セレクター タグの検索に失敗しました:  
[1] \<html app=‘chrome.exe’ htmlwindowname=‘\<td class style="text-align: center;"\>’ title=‘S検索画面’

見つかった最も近い一致は次のとおりです:  
[67%] \<html app=‘chrome.exe’ htmlwindowname=‘’ title=‘S検索画面’

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 4, 2024, 5:52am UTC](https://forum.uipath.com/t/topic/745128/18 "2024-06-04T05:52:03Z")

</div>

> [@k.sakaguchi0804](#):
>
> [1] \<html app=‘chrome.exe’ htmlwindowname=‘’ title=‘S検索画面’

htmlwindownameの内容が一致していないためエラーとなっています。  
これを設定している箇所、おそらくターゲット配下のウインドウセレクタープロパティとおもいますが、htmlwindownameの属性を削除してみてください。

 ![image](https://global.discourse-cdn.com/uipath/original/4X/c/0/c/c0c4a1f5d331eb397007411a698e912f768a17d6.png)

あるいは上記でも情報が欠落しているようでしたら、スクリーンショットを撮って画像で貼り付けてもらえますでしょうか？

---

<div class="post-metadata">

**Author:** ![k.sakaguchi0804](https://avatars.discourse-cdn.com/v4/letter/k/8797f3/32.png) [@k.sakaguchi0804](https://forum.uipath.com/u/k.sakaguchi0804)\
**Post date:** [June 4, 2024, 6:14am UTC](https://forum.uipath.com/t/topic/745128/19 "2024-06-04T06:14:15Z")

</div>

htmlwindownameの属性を削除してみましたが、結果は変わりませんでした。  
クリックアクティビティを使用 → 画像を設定とすると、同じ値のものはクリックしますが  
検索項目が変わった場合にクリックしてくれません。  
aanameを削除すると、設定した画像の値すらクリックしてくれませんし、  
検索項目の値を変数に代入してaanameに持たせてもできません。。。

本来クリックアクティビティは値までは見ていないのでしょうか?

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 4, 2024, 6:21am UTC](https://forum.uipath.com/t/topic/745128/20 "2024-06-04T06:21:45Z")

</div>

エラーメッセージとクリックのプロパティパネル、厳密セレクターのそれぞれにスクリーンショット共有可能でしょうか？

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [June 4, 2024, 6:44am UTC](https://forum.uipath.com/t/topic/745128/22 "2024-06-04T06:44:34Z")

</div>

上記エラーの直接原因は不要なシングルクォートが含まれていることです。

![image](https://global.discourse-cdn.com/uipath/original/4X/a/a/f/aaf6e8537bf53132dcb0802505da5bd71cf26580.png)

ただ先のPOSTで言及しています通りtableRow属性を使えばaaname属性は無くても良いかもしれません。

[Next page](https://forum.uipath.com/t/topic/745128.md?page=2)
