Xpath或CSS选择器获取特定节点

时间:2013-11-04 11:38:55

标签: xpath selenium css-selectors

我需要知道1324表中是赢还是输。如何选择单个<td>元素以了解它是丢失还是获胜。

<tr>
    <td> 1323 </td>
    <td> Won </td>
</tr>
<tr>
    <td> 1324 </td>
    <td> Loss </td>
</tr>
[...]
<tr>
    <td> 1328 </td>
    <td> Won </td>
</tr>

2 个答案:

答案 0 :(得分:1)

虽然这个问题的答案是正确的,但人们却忘记了背景: Selenium 。你给那些XPath,它会在你脸上爆炸。

Selenium希望XPath查询返回物理DOM元素,而不是这些元素的属性。

你应该找到该元素,并使用Selenium来获取它的文本。这可能是.getText().Text或类似的东西,无论您使用何种语言(下面的C#和Java示例 - 假设driver是有效的Driver实例):

<强> C#

driver.FindElement(By.XPath("//td[text()="1324"]/following-sibling::td")).Text;

<强>爪哇

driver.findElement(By.xpath("//td[text()="1324"]/following-sibling::td")).getText();

答案 1 :(得分:0)

试试这个:

//td[text()='1324']/../td[2]/text()