选择与特定文本相同的行中的元素

时间:2012-03-17 02:37:15

标签: selenium css-selectors

我正在使用Selenium IDE 1.7.1来选择与发票#405357相对应的复选框.Css似乎允许我继续选择元素,但不能向后移动。 所以这将选择$ 420:

css=td:contains('405357') + td

有关解决方法的任何想法,以便选择复选框?理想情况下,解决方法不会涉及向后或向前,而只会说选择复选框

css=input#paymentsForm_invoiceToPayIds if td:contains('405357')

我更喜欢它在CSS中,但XPath也可以。

谢谢!

enter image description here

<table>
<tbody>
<tr>
<td>
<input id="paymentsForm_invoiceToPayIds" type="checkbox" onclick="calculateInvoices(this)" value="405357" name="invoiceToPayIds">
<input id="__checkbox_paymentsForm_invoiceToPayIds" type="hidden" value="405357" name="__checkbox_invoiceToPayIds">
</td>
<td>405357</td>
</tr>
</tbody>
</table>

3 个答案:

答案 0 :(得分:5)

我相信:contains()也适用于父tr。试试这个:

css=tr:contains('405357') input[type="checkbox"]

答案 1 :(得分:2)

你不能在真正的CSS中做到这一点,因为真正的CSS没有:contains。但在XPath中,它很简单://tr[//input[@value="405357"]]//input[@type="checkbox"],表示“包含在表格行中的复选框,其中包含值为'405357'的输入字段”。

答案 2 :(得分:0)

//input[@type='checkbox' and @value="405357"]

尝试这个