Selenium IDE和xpath - 在表格中找到文本/行并选择单选框

时间:2012-05-03 09:44:26

标签: xpath selenium selenium-ide

我一直在使用Selenium IDE并获得了一些好的结果。我已经完成了很多关于兄弟姐妹和兄弟姐妹的阅读,但我找不到合适的单选按钮。

基本上我想在表格中找到带有'testing'字样的行,然后点击单元格中的单选按钮。

到目前为止,我可以找到输入按钮     //输入[@类型= '无线电']

找到文本测试     //一个[含有(文本(), '测试')]

我一直在尝试在ide

中使用它
check | //input[@type='radio']/following-sibling::td[1]/a[contains(text(),'testing')]

但我收到错误[error] locator not found: //input[@type='radio']/following-sibling::a[contains(text()[1],'testing')]

真的很感激任何帮助改变这一点:)

干杯

达明

这是简单的基本表......

<tbody id="list">
<tr>
<th>
<label class="radio">
<input class="presentation_radio" type="radio" value="1" name="presentation_radio">
</label>
</th>
<td>
<a href="/link_to/document">testing </a>
</td>
<td>testing</td>
<td>Joe Acme</td>
<td>Presentation</td>
<td>03 May 2012</td>
<td>5 (1)</td>
</tr>
</tbody>

1 个答案:

答案 0 :(得分:5)

您的xpath问题是tdinput不是兄弟(他们没有共同的父级),即使您将xpath更改为更正确版本:

//input[@type='radio']/following::td[1]/a[contains(text(),'testing')]

它会找到前面有复选框的a而不是复选框本身。所以正确的xpath将是:

//a[contains(text(),'testing')]/preceding::input[@type='radio'][1]

//tr[descendant::a[contains(.,'testing')]]//input[@type='radio']

对于xpath轴教程,请阅读:http://msdn.microsoft.com/en-us/library/ms256456.aspx