这是我的sample.html
<html>
<head>
<title>Test</title>
</head>
<body>
<div id="testingID">hello</div>
</body>
</html>
我在c#中有这个代码我要提示的是 div 元素中的世界“hello”,其id testingID
private void btnGetData_Click(object sender, EventArgs e)
{
string url = string.Format("{0}/sample.html", Environment.CurrentDirectory);
WebBrowser webb = new WebBrowser();
webb.Navigate(url);
var doc = webb.Document;
HtmlElement elem = doc.GetElementById("testingID");
MessageBox.Show(elem.InnerText);
}
但我得对象引用没有设置为对象的实例。 on MessageBox.Show(elem.InnerText);
这里有点帮助..
答案 0 :(得分:4)
您可能正在尝试访问该元素,但此时未加载该文档。在WebBrowser.DocumentCompleted事件中移动doc.GetElementById("testingID");
,它应该可以工作。
答案 1 :(得分:1)
我假设elem为null,因为在文档中找不到ID为'testingID'的元素。尝试单步调试并验证elem不为null。或者,尝试以下内容:
if (elem != null)
{
MessageBox.Show(elem.InnerText);
}
else
{
MessageBox.Show('No element found!');
}