3

我一直在使用 Selenium IDE 并获得了一些不错的结果。我已经阅读了很多关于follow-sibling 和previous-sibling 的内容,但我找不到正确的单选按钮。

本质上,我想在表格中找到带有“测试”一词的行,然后单击单元格中的单选按钮。

到目前为止,我可以找到输入按钮 //input[@type='radio']

并找到测试文本 //a[contains(text(),'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>
4

1 回答 1

5

您的 xpath 的问题在于td并且input不是兄弟姐妹(它们没有共同的父级),即使您将 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

于 2012-05-03T09:52:02.823 回答