C# WebBrowser控件中的按钮

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:49:49
请教一下各位老大
一个小程序 需要实现网页中的“提交”按钮的点击 百度了几个方法
普遍答案是

"HtmlElement elemButton = webBrowser1.Document.All.GetElementsByName("Submit3")[0];
mshtml.HTMLInputElement button = (mshtml.HTMLInputElement)(elemButton.DomElement);
button.click();
"
我照做了 但是弹出一个异常
“未处理的“System.ArgumentOutOfRangeException”类型的异常出现在 System.Windows.Forms.dll 中。

其他信息: “0”的值对于“index”无效。“index”应介于 0 和 -1 之间。

请问这个错误要怎么解决呢?? 希望能得到个简单易懂的解释。
呵呵 本人实在菜了点 希望各位大大帮忙
但是强烈谢绝ctrl+c ctrl+v家族的成员 基本上这般人从来不看问题 就贴些不知所谓的链接过来

我实在是百度不到想要的答案了 所以才来提问的 希望能得到个满意的答案 从来不吝惜分的 只是新号没积分 讲究下吧 呵呵
哦 不好意思 忘了说了 我自己的已经把submit3修改了 上面的是直接从baidu上粘过来的代码
我想点击的按钮 value =“开始go!” 我把submit3替换成“开始go!”还是出现上面那个异常
麻烦大家再帮忙看看 谢谢!!!

另 多谢2楼snake64的帮忙 不过还是没成功 如果不 +all 的话只有一个GetElementsByTagName()的方法 返回的是xx标签的元素集合 不是我要的
请问按钮的value值不是和普通元素的name值一样吗??? 还有我要点击的按钮只有value值 该怎么办呢?

感谢3位的帮忙 但都不对 抱歉!

"HtmlElement elemButton = webBrowser1.Document.All.GetElementsByName("Submit3")[0];
mshtml.HTMLInputElement button = (mshtml.HTMLInputElement)(elemButton.DomElement);
button.click();
"

webBrowser1.Document.All.GetElementsByName("Submit3")[0];

这里好像不用+all
还有如果是用GetElementsByName()方法,那么在button里要定义name属性
如:
<INPUT tpye="button" name="Submit3"/>

你的提交按钮的ID是叫Submit3吗?
明显是没有找到对象呀

厄 ..
这里好像不用+all
还有如果是用GetElementsByName()方法,那么在button里要定义name属性