使用 XPATH 按 ID 搜索 HTML 文档 returns 错误结果

Searching HTML document by ID using XPATH returns wrong result

所以,id 想从第 200 行获取这个元素

<p id="Para">Hello, how are you.</p>

为此,我使用 XPATH

HtmlDoc.DocumentNode.SelectSingleNode("//*[contains(@id,'Para')]")

但是,返回的节点不是我要查找的节点,而是在第 10 行获取它之前的一个元素

<p id="ParaInstruction">Click here to begin</p>

我认为这是因为 id 有共同的前 4 个字符,所以它得到它可以找到的第一个。如何确保返回的节点仅具有 XPATH 中指定的字符。

改变

//*[contains(@id,'Para')]

//*[@id='Para']

避免匹配每个 @id 包含 一个 "Para" substring 的元素,这就是 contains() 确实 -- 测试子字符串包含。