在webbrowser控件中随机选择图像

时间:2014-11-28 17:48:59

标签: c# random webbrowser-control

我想从我的webbrowser控件中随机选择一个图像。 顺便说一句,我的下一步是添加一个" onclick"事件到随机选择的图像。

Random Rand = new Random();

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{

    if (webBrowser1.Document != null)
    {
        ArrayList al;
        HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("IMG");
        al = new ArrayList();
        foreach (HtmlElement elem in elems)
        {
            al.Add(elem.GetAttribute("name"));
            var randImg = Rand[elems.Next(al.Length)];
            // This line gives error please help
        }
        foreach (String s in al)
        {
            MessageBox.Show(s);
        }
    }
}

所以说我在page

如何从此页面获取随机图片?我的代码在上面。我是在正确的轨道上吗?

1 个答案:

答案 0 :(得分:0)

您的问题仅针对一张图片!这是代码。

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (webBrowser1.Document == null)
            {
                  MessageBox.Show("No document in web browser");
                  return;
            }


            HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("IMG");

            if(elems.Count == 0)
            {
                MessageBox.Show("There is no images on the page");
                return;
            }

            Random r = new Random();
            int randomIndex = r.Next(0, elems.Count-1);

            MessageBox.Show(elems[randomIndex].GetAttribute("name"));

        }

这应该有效。您想要随机图片,您应该在0elems.Count- 1之间选择随机数。之后得到这个元素和他的名字属性!我稍微重构了你的代码。