如何测试页面上元素的存在?

时间:2011-11-03 16:00:24

标签: c# html browser

我正在尝试使用此行点击链接:

webBrowser1.Document.GetElementsByTagName("a")[i].InvokeMember("click");

但是当页面上没有该元素时,它会给出错误Value of '0' is not valid for 'index'

我首先尝试测试元素的存在:

if (webBrowser1.Document.GetElementsByTagName("a") != null) {...}

但这似乎不起作用。

如何检查元素是否存在?

3 个答案:

答案 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()并查看。