我试图在Selenium IDE中使用xpath选择多个元素。我正在使用的查询是
//*[contains(@id, "address_menu_")]
这适用于第一个元素,但屏幕上有8个我想要定位的元素。有什么想法吗?谢谢。
*编辑 - 这是从Firebug复制的HTML。我扩展了产品,但左边的其他产品最小化了空间。前四个产品是礼品公告(我正在测试的功能)),后四个是实际产品。为了记录,我想要的目标是 -
<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=" ">
答案 0 :(得分:1)
实际上在Selenium中不可能这样做。它的许多命令旨在使用精确的一个元素。虽然你可以用另一种方式来做,但只是澄清你的问题你到底需要什么?
现在看来我明白你在做什么。 selects
内有<td>
//*[contains(@id, "address_menu_")][1]
只允许从兄弟姐妹中选择,但您的选择显然不是那些。
如果你将所有这些都放在一个表中,那么你可以稍微改变一下表达式,例如:
//tr[contains(@id, 'item_')][1]/descendant::select
//tr[contains(@id, 'item_')][2]/descendant::select
答案 1 :(得分:0)
您可以使用:
<tr>
<td>addSelection</td>
<td>Locate your select element</td>
<td>Option you need to select</td>
</tr>