使用Selenium IDE选择多个xpath元素

时间:2012-08-17 21:50:41

标签: selenium ide

我试图在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=" ">

2 个答案:

答案 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>