Selenium getAttribute来自标签之间?

时间:2012-08-30 13:44:14

标签: java xpath selenium selenium-webdriver

这是我想用selenium验证的来源:

<tr class="myclass">
    <td class="column" style="width:50%"> Key </td>
    <td style="width:50%"> Value </td>
    <td style="width:50%"> &nbsp; </td>
</tr>

我想验证他的词语“值”是否包含在那里。

以下语句始终返回:“Key”而不是“Values”

driver.findElement(By.xpath("//tr[td[contains(text(), 'Key')]]/td")).getText();

我做错了什么?如何获取xpath表达式的文本?

3 个答案:

答案 0 :(得分:1)

这里试试这个

driver.findElement(By.xpath("//tr[@class='myclass']/td[1]")).getText();

表中的所有列都是兄弟。如果你在没有数组的情况下调用它们,它将返回第一个值。如果td [1]不起作用,请尝试td [2]。

答案 1 :(得分:0)

为什么不这样呢?这样,它不会依赖于它所处的位置,只是它存在?

//tr/descendant::td[contains(text(), 'Value')]

或执行FindElements:

//tr[@class='myclass']/td

然后循环遍历它们,确保“价值”出现。

答案 2 :(得分:0)

尝试使用css选择器

driver.findElement(By.cssselector(".myclass > td[style='width:50%']")).getText();