2013-10-29 256 views
0
<tbody> 
<tr class="odd"> 
<td> 
<input id="nodeAccountOid" type="radio" onclick="setNodeAccountIdToCredentialCheck('E9E2930C4493B569E040A8C0158E4ABD');" style="width:100%;border:0px"> 
</td> 
<td>E9E2930C4493B569E040A8C0158E4ABD</td> 
<td>monacho1</td> 
<td>urn:dece:org:org:dece:dece:cs</td> 
</tr> 
<tr class="even"> 
<td> 
<input id="nodeAccountOid" type="radio" onclick="setNodeAccountIdToCredentialCheck('E9E2930C4494B569E040A8C0158E4ABD');" style="width:100%;border:0px"> 
</td> 
<td>E9E2930C4494B569E040A8C0158E4ABD</td> 
<td>monacho1</td> 
<td>urn:dece:org:org:dece:coord:cs</td> 
</tr> 
<tr class="odd"> 
<td> 
<input id="nodeAccountOid" type="radio" onclick="setNodeAccountIdToCredentialCheck('E9E2930C4495B569E040A8C0158E4ABD');" style="width:100%;border:0px"> 
</td> 
<td>E9E2930C4495B569E040A8C0158E4ABD</td> 
<td>monacho1</td> 
<td>urn:dece:org:org:dece:300</td> 
</tr> 
<tr class="even"> 
<td> 
<input id="nodeAccountOid" type="radio" onclick="setNodeAccountIdToCredentialCheck('E9E2930C4495B569E040A8C0158E4ABD');" style="width:100%;border:0px"> 
</td> 
<td>E9E2930C4495B569E040A8C0158E4ABD</td> 
<td>monacho1</td> 
<td>urn:dece:org:org:dece:10</td> 
</tr> 
</tbody> 
</table> 

我想选择对应于urn:dece:org:org:dece:10的单选按钮,这是所提供的html中的第四行。该行可能会根据AUT中的某些输入有时更改。请为我提供选择它的方式。如何选择selenium webdriver中的单选按钮?动态选择单选按钮

在此先感谢

+0

那么有什么变化?它是否总是'urn:dece:org:org:dece:10'? – Arran

+0

@Arran:urn:dece:org:org:dece:10永远不会改变,但其位置可能chage.i要相应地选择它 – Satish

回答

1

由于文本永远不会改变,你可以使用它作为DOM中的起点,并使用XPath通过导航到input您需要:

//td[.='urn:dece:org:org:dece:10']/parent::tr/descendant::input[@id='nodeAccountOid' and @type='radio'] 
  1. 获取有它的tdtext等于urn:dece:org:org:dece:10

  2. 把那td的母公司tr

  3. 从该父tr,得到一个具有id等于nodeAccountOid并具有radio一个typeinput

因此,它不无论身在何处正是的元素,只要XPath的定位可以导航到parent,然后再返回到你所需要的input

+0

你发送的xpath像一个魅力一样工作。非常感谢,也感谢您解释步骤: ) – Satish

0

你所面临的问题是定位在不同的位置可能出现的网页某个元素。 如果有另一个元素可以通过其内容,id或名称轻松识别,并且此元素与您想要查找的元素之间存在静态关系,则可以使用xpath。就我所知,在硒文档中也有一些例子。

+0

我想沿着urn:dece:org:org:dece:10 row和Select无论在页面中的位置如何,单选按钮。你能否给我提供一个xpath来选择那个单选按钮。我使用了下面的xpath来选择单选按钮,它位于第4行driver.findElement(By.xpath(“(// input [@ id ='nodeAccountOid'])[5]”))。click(); – Satish