我想从我的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
如何从此页面获取随机图片?我的代码在上面。我是在正确的轨道上吗?
答案 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"));
}
这应该有效。您想要随机图片,您应该在0
和elems.Count- 1
之间选择随机数。之后得到这个元素和他的名字属性!我稍微重构了你的代码。