Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GetElementsByTagName无法运行_C# - Fatal编程技术网

C# GetElementsByTagName无法运行

C# GetElementsByTagName无法运行,c#,C#,此代码无法运行,出现以下错误: Miner_W.exe中发生类型为“System.NullReferenceException”的未处理异常 其他信息:对象引用未设置为对象的实例 没有scr属性。我想您的意思是在GetAttribute方法中加上“src” 发生异常的原因是,对于每个元素,您试图获取元素上不存在的属性 您必须等待页面加载完毕 string url = "http://www.google.com"; WebBrowser wb = new WebBrowser(); wb.Nav

此代码无法运行,出现以下错误:

Miner_W.exe中发生类型为“System.NullReferenceException”的未处理异常

其他信息:对象引用未设置为对象的实例


没有scr属性。我想您的意思是在GetAttribute方法中加上“src”


发生异常的原因是,对于每个元素,您试图获取元素上不存在的属性

您必须等待页面加载完毕

string url = "http://www.google.com";
WebBrowser wb = new WebBrowser();
wb.Navigate(new Uri(url));

wb.DocumentCompleted += (s, e) =>
{
    HtmlElementCollection elementcolls = wb.Document.GetElementsByTagName("img");
    foreach (HtmlElement elementcoll in elementcolls)
    {
        listBox1.Items.Add(elementcoll.GetAttribute("src"));
    }
};

谢谢你的帮助,Mikkel,但是这一步的代码“HtmlElementCollection elementcolls=wb.Document.GetElementsByTagName(“img”);“嗯。。。在获取这些元素之前,是否有方法检查页面是否有带有该标记的元素?如果是这样,那可能值得一试是的,我手动进入谷歌主页查看源代码,我看到了。那么,我不确定问题出在哪里。我现在只是在猜测,但你的wb.Document会是空的吗?我不熟悉你在用什么,所以我不知道它是如何运作的。您是否尝试运行调试器以查看wb.Document的值?或者在实际破解之前看看代码做了什么?太棒了!它起作用了。顺便说一句,你能告诉我“wb.DocumentCompleted+=(s,e)=>”@Thomasshi-
+=
-语句中“+,=>”符号对事件的作用是什么吗<代码>=>-。
string url = "http://www.google.com";
WebBrowser wb = new WebBrowser();
wb.Navigate(new Uri(url));

wb.DocumentCompleted += (s, e) =>
{
    HtmlElementCollection elementcolls = wb.Document.GetElementsByTagName("img");
    foreach (HtmlElement elementcoll in elementcolls)
    {
        listBox1.Items.Add(elementcoll.GetAttribute("src"));
    }
};