C# 为什么方法 HtmlDocument.GetElementById 匹配标记的属性名称?
C# Why Method HtmlDocument.GetElementById matchs tag's attribute name?
HtmlDocument.GetElementById("$id")
我想使用此方法获取带有 $id
的元素,但它匹配 meta
标签,其属性值与 $id
.
Html文档是这样的:
<html>
<head>
<meta name="description" content="">
</head>
<body>
<div id="description"></div>
</body>
</html>
我试图获取 ID 为 "description" 的标签 div
:
HtmlElement elem = doc.GetElementById("description");
但我得到的是 meta
而不是 div
。为什么 meta
标签匹配?
试试这个:-
HtmlDocument HtmlDocument = webBrowser1.Document;
MessageBox.Show(HtmlDocument.Body.All["description"].TagName);
希望对您有所帮助?
为什么? Here is an official reference from Microsoft: getElementById 方法:Returns 对具有指定 ID 或 NAME 属性值的第一个对象的引用。
解决方案:你应该避免在正文中使用 name attrib,这样如果你使用 myHtmlDocument.Body.All[id] 公式作为 sharique ansari 提到的,你可以通过 id 引用标签。
干杯
HtmlDocument.GetElementById("$id")
我想使用此方法获取带有 $id
的元素,但它匹配 meta
标签,其属性值与 $id
.
Html文档是这样的:
<html>
<head>
<meta name="description" content="">
</head>
<body>
<div id="description"></div>
</body>
</html>
我试图获取 ID 为 "description" 的标签 div
:
HtmlElement elem = doc.GetElementById("description");
但我得到的是 meta
而不是 div
。为什么 meta
标签匹配?
试试这个:-
HtmlDocument HtmlDocument = webBrowser1.Document;
MessageBox.Show(HtmlDocument.Body.All["description"].TagName);
希望对您有所帮助?
为什么? Here is an official reference from Microsoft: getElementById 方法:Returns 对具有指定 ID 或 NAME 属性值的第一个对象的引用。
解决方案:你应该避免在正文中使用 name attrib,这样如果你使用 myHtmlDocument.Body.All[id] 公式作为 sharique ansari 提到的,你可以通过 id 引用标签。
干杯