我正在尝试使用此行点击链接:
webBrowser1.Document.GetElementsByTagName("a")[i].InvokeMember("click");
但是当页面上没有该元素时,它会给出错误Value of '0' is not valid for 'index'
。
我首先尝试测试元素的存在:
if (webBrowser1.Document.GetElementsByTagName("a") != null) {...}
但这似乎不起作用。
如何检查元素是否存在?
答案 0 :(得分:2)
显然webBrowser1.Document.GetElementsByTagName("a")
会产生空集合。
您对null
的第二次抽样测试,但这是不同的。
使用调试器查看webBrowser1.Document.GetElementsByTagName("a").Count
答案 1 :(得分:1)
为什么不使用......
foreach (HtmlElement elem in elemColl) { }
并且Kev那行 - =删除了事件处理程序
答案 2 :(得分:0)
你确定集合中是否有任何元素?
致电时
webBrowser1.Document.GetElementsByTagName("a")
你得到一个集合 - 它可能有1,2,100或...... 0个元素。该集合可能是空的。你可以在上面调用.Count()并查看。