GetElementById HtmlElement上的C#NullReferenceException

时间:2012-01-19 19:24:53

标签: c#

这是我的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);

这里有点帮助..

2 个答案:

答案 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!');
}