Html 使用xpath根据单元格的内容选择行
我有一个由多行组成的表,每行包含5个单元格,如下所示:Html 使用xpath根据单元格的内容选择行,html,xpath,Html,Xpath,我有一个由多行组成的表,每行包含5个单元格,如下所示: <tr> <td></td> <td>123456</td> <td>statusText</td> <td><a>linkText</a></td> <td>editButton</td> </tr> //tr[contains(t
<tr>
<td></td>
<td>123456</td>
<td>statusText</td>
<td><a>linkText</a></td>
<td>editButton</td>
</tr>
//tr[contains(td, '123456')]
//tr[contains(td, '123456')]
让我进入单元格,但它要么返回每一行,要么什么也不返回,这取决于我如何调整xpath。我会研究类似于
//tr[string(td[2])='123456']
的内容。如果这不起作用,我将查找XPath轴。我将研究类似于//tr[string(td[2])='123456']
的内容。如果这不起作用,我会查找XPath轴
我一直在尝试这样的事情:
<tr>
<td></td>
<td>123456</td>
<td>statusText</td>
<td><a>linkText</a></td>
<td>editButton</td>
</tr>
//tr[contains(td, '123456')]
//tr[contains(td, '123456')]
带我去牢房,但也不是
返回每一行或不返回任何内容,
取决于我如何调整xpath
你得到了你想要的。上面的XPath表达式选择文档中具有(至少一个)td
子元素(其字符串值包含“123456”)的任何tr
元素(行)
但你想要的是:
//tr/td[text() = '123456']
这将选择文档中的每个td
元素(单元格),该元素有一个文本节点子元素,其字符串值为“123456”
根据td
是否可能有多个文本节点,以及文本节点中的空白是否应该规范化,可能会有不同的变化,但如果这些变化中的任何一个适用于此特定情况,则问题不提供任何信息
我一直在尝试这样的事情:
<tr>
<td></td>
<td>123456</td>
<td>statusText</td>
<td><a>linkText</a></td>
<td>editButton</td>
</tr>
//tr[contains(td, '123456')]
//tr[contains(td, '123456')]
带我去牢房,但也不是
返回每一行或不返回任何内容,
取决于我如何调整xpath
你得到了你想要的。上面的XPath表达式选择文档中具有(至少一个)td
子元素(其字符串值包含“123456”)的任何tr
元素(行)
但你想要的是:
//tr/td[text() = '123456']
这将选择文档中的每个td
元素(单元格),该元素有一个文本节点子元素,其字符串值为“123456”
根据td
是否可能有多个文本节点,以及文本节点中的空白是否应该规范化,可能会有不同的变化,但如果其中任何一个适用于此特定情况,则问题不会提供任何信息。好问题(+1)。请参阅我的答案以获得解释和一个可能的解决方案。好问题(+1)。请参阅我的答案以了解解释和一个可能的解决方案。