1

Selenium IDE で xpath を使用して複数の要素を選択しようとしています。私が使用しているクエリは

//*[contains(@id, "address_menu_")]

これは最初の要素で機能しますが、ターゲットにしようとしている画面には 8 個あります。何かご意見は?ありがとう。

*編集 - これは Firebug からコピーされた HTML です。製品を拡張しましたが、スペースのために他の製品を最小化したままにしました。最初の 4 つの製品はギフトのお知らせ (私がテストしている機能) で、最後の 4 つは実際の製品です。記録のために、私がターゲットにしようとしているのは -

<td class="item-address"> <select id="address_menu_71740515" name="address_71740515">

<script type="text/javascript">
<tr id="item_71740515" class=" odd gift_cont">
<th class="sub">
<td class="product">1 x Gift Announcement (Physical)</td>
<td>
<td class="item-address">
<select id="address_menu_71740515" name="address_71740515">
</td>
<td class="price">$0.00</td>
<td class="price">$0.00</td>
</tr>
<tr class="gift_sep">

<script type="text/javascript">
<tr id="item_71740511" class=" gift_cont">
<tr class="gift_sep">

<script type="text/javascript">
<tr id="item_71740507" class=" odd gift_cont">
<tr class="gift_sep">

<script type="text/javascript">
<tr id="item_71740503" class=" gift_cont">
<tr class="gift_sep">

<tr id="item_71740495" class=" odd">

<tr id="item_71740487" class=" ">

<tr id="item_71740499" class=" odd">

<tr id="item_71740491" class=" ">
4

2 に答える 2

1

実際、Selenium でこの方法を実行することはできません。そのコマンドの多くは、正確に 1 つの要素を操作することを目的としています。別の方法で行うこともできますが、正確に何が必要なのかという質問を明確にしてください。

今、私はあなたが何をしているのか理解したようです。あなたはselects中に持ってい<td>ます。
//*[contains(@id, "address_menu_")][1]兄弟からのみ選択できますが、選択は明らかにそれらではありません。

それらすべてが 1 つのテーブルにある場合は、式を少し変更できます。たとえば、次のようになります。

//tr[contains(@id, 'item_')][1]/descendant::select 
//tr[contains(@id, 'item_')][2]/descendant::select
于 2012-08-17T22:21:32.557 に答える