C# 为什么我的WebBrower类返回空引用异常?

C# 为什么我的WebBrower类返回空引用异常?,c#,C#,我需要帮助修复此错误或以其他方式单击“开始查看器”按钮 private void button1_Click(object sender, EventArgs e) { { webBrowser1.Navigate(new Uri(textBox1.Text)); HtmlDocument doc = webBrowser1.Document; HtmlElementCollection classButton = webBrowser1

我需要帮助修复此错误或以其他方式单击“开始查看器”按钮

private void button1_Click(object sender, EventArgs e)
{
    {
        webBrowser1.Navigate(new Uri(textBox1.Text));
        HtmlDocument doc = webBrowser1.Document;

        HtmlElementCollection classButton = webBrowser1.Document.All;
        foreach (HtmlElement element in classButton)
        {
            if (element.GetAttribute("className") == "titre_12")
            {
                element.InvokeMember("click");
            }
        }
    }
    {
        timer1.Tick += new EventHandler(timer1_Tick);
        timer1.Interval = 1000; // 1 second
        timer1.Start();
        label2.Text = counter.ToString();
    }
}
我收到“VPS Web Bot.exe中出现'System.NullReferenceException'类型的第一次意外异常”

为了这条线

HtmlElementCollection classButton = webBrowser1.Document.All;
我试图简单地让我的机器人点击启动一个查看器,但是HTML没有ID,所以我试图按类获取我的元素

我正在尝试让它单击
https://www.websyndic.com/wv3/?qs=MTAzMDE5Nw==

说到编程,我是自学成才的,所以我并不总是理解正确的术语。我事先道歉

我的帖子被标记为重复,但它引用的帖子是我已经尝试过的,但没有成功。

解决方案 使用
WebBrowser.DocumentCompleted


附加说明 当您在
{}

{
    webBrowser1.Navigate(new Uri(textBox1.Text));
}
{
    HtmlDocument doc = webBrowser1.Document;
    HtmlElementCollection classButton = webBrowser1.Document.All;
    ...
}
你将顶部和底部隔离开来。。。我相信你是这个意思

{
    webBrowser1.Navigate(new Uri(textBox1.Text));
    HtmlDocument doc = webBrowser1.Document;
    HtmlElementCollection classButton = webBrowser1.Document.All;
    ...
}

额外的大括号只会更改其中声明的对象的范围。它不会对在大括号外声明的对象产生任何影响。这肯定不是一个人通常会做的事情,但这并不是问题的根源。@BJMyers-你说得对。我现在将着手解决问题。@BJMyers您将其标记为重复项,而将“webBrowser.Navigate”切换到“webBrowser.DocumentCompleted”并不能解决我的问题。另外,我在一个按钮下添加了多个操作,我需要浏览器导航到该链接,然后执行单击“开始查看器”的操作,但它没有ID,因此我必须按类获取元素&我得到错误“VPS Web Bot.exe中发生了“System.NullReferenceException”类型的第一次机会异常”对于行“HtmlElementCollection classButton=webBrowser1.Document.All;”“@BJMyers进行更改我得到”错误1,事件“System.Windows.Forms.WebBrowser.DocumentCompleted”只能出现在+=或-=”的左侧,@Jay是否完全复制了它?不是重复的,匹配的帖子并不能解决我的问题。是的,它是复制品。空引用异常的解决方案总是找出什么是空的。如果你能确定什么是空的,但你不明白为什么它是空的,那么你有一个不同的问题,可能不是重复的。
{
    webBrowser1.Navigate(new Uri(textBox1.Text));
    HtmlDocument doc = webBrowser1.Document;
    HtmlElementCollection classButton = webBrowser1.Document.All;
    ...
}