我正在尝试创建一个图片下载程序。基本上它应该通过一个网站并下载所有的图像。我得到的错误是在foreach循环的第一行System.NullReferenceException
。
private void button1_Click(object sender, EventArgs e)
{
WebBrowser browser = new WebBrowser();
browser.DocumentCompleted += browser_DocumentCompleted;
browser.Navigate("http://www.mysite.com");
}
void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser browser = sender as WebBrowser;
HtmlElementCollection imgCollection = browser.Document.GetElementsByTagName("img");
WebClient webClient = new WebClient();
foreach (HtmlElement img in imgCollection)
{
string url = img.FirstChild.GetAttribute("src");
webClient.DownloadFile(url, url.Substring(url.LastIndexOf('/')));
}
}
答案 0 :(得分:3)
<img>
个元素没有孩子。
答案 1 :(得分:3)
改变这个:
img.FirstChild.GetAttribute("src");
到那个:
img.GetAttribute("src");
答案 2 :(得分:0)
更改此
string url = img.FirstChild.GetAttribute("src");
到
string url = img.GetAttribute("src");
因为img没有孩子。