带有XPath的Selenium IDE,用于根据其他列识别表中的单元格

时间:2013-08-07 16:50:25

标签: xpath selenium ide html-table multiple-columns

请查看下面的html片段:

<tr class="clickable">
<td id="7b8ee8f9-b66f-4fba-83c1-4cf2827130b5" class="clickable">
<a class="editLink" href="#">Single</a>
</td>
<td class="clickable">£14.00</td>
</tr>

当td [1]包含“Single”时,我试图断言td [2]的值。我尝试了各种各样的变种:

// TD [2] [(包含(文本(), '14.00£'))] /../ TD [1] [(包含(文本(), '单个'))]

我在其他地方成功地使用了类似的符号 - 但在这里无济于事......我认为这是td [1]有嵌套元素,但不确定。

有人可以启发我的错误吗? :)

干杯!

2 个答案:

答案 0 :(得分:5)

怎么样:

//tr[contains(td[1], "Single")]/td[2]

首先选择包含与文字匹配的<tr>的{​​{1}},然后选择<td>

然后,

td[2]

应该返回contains(//tr[contains(td[1], "Single")]/td[2], "£14.00")

或者,更接近您尝试的表达式,您可以测试它是否匹配:

True

请参阅@ JensErat对find xth td with td contains in same tr xpath python的回答。

答案 1 :(得分:0)

为什么不自己简单,在代码中执行if语句。伪码:

  1. 选择顶级tr。
  2. 在tr中找到第一个td,检查它是否包含Single。
  3. 如果确实如此,断言它包含£14.00
  4. 或者,您可以获取顶级tr的文本并对该文本执行检查。