htmlDocument.GetElementById 返回具有相同名称的元素,而不是 id

Posted

技术标签:

【中文标题】htmlDocument.GetElementById 返回具有相同名称的元素,而不是 id【英文标题】:htmlDocument.GetElementById returns element with same name, not id 【发布时间】:2017-08-14 06:36:54 【问题描述】:

第一次使用 htmlAgilityPack,我正在检索具有 2 个不同元素的 html 中的节点,共享一个值作为一个 id 和另一个作为名称:

    <span name="abc"></span>
     . . .
    <div id="abc"></div>

当我使用 GetElementById("abc") 时,我最终会得到指定的元素,其 name 而不是 id。怎么样?

提前致谢

【问题讨论】:

456bereastreet.com/archive/200802/… - 很高兴知道!刚刚学会了,谢谢 @koksalb htmlAgilityPack 是一个用于 html 操作的 C# 库。它应该与 Internet Explorer 如何处理名称无关。 有一个解释:http://***.com/questions/13300698/document-getelementbyid-returns-element-with-name-equal-to-id-specified @andy 出于政策原因不能这样做。假设这些元素在 body 标签内就足够了。 【参考方案1】:

似乎我无法在 VB.NET 中重现您的问题(见上面的屏幕截图)。

它只针对 id 为“abc”的元素,而不是具有相同名称的元素。

也许您可以向我们发送一段错误行为的代码?

【讨论】:

以上是关于htmlDocument.GetElementById 返回具有相同名称的元素,而不是 id的主要内容,如果未能解决你的问题,请参考以下文章