<input onfocus="showInfoBox(this, "Varchar(100) Latin capital letters only (A-Z) and spaces between surnames")" onblur="hideInfoBox()" value="" name="Surname"><input>
我需要通过网络浏览器填写输入。当我尝试填写时出现 System.ArgumentOutOfRangeException 错误。我如何填写这个输入区域?
这是我的代码
webBrowser1.Document.GetElementsByTagName("Surname")[0].SetAttribute("MySurName", "true");
请您参考如下方法:
异常的原因是函数GetElementsByTagName找到零个元素,因此集合为空,因此当您尝试访问空集合的元素编号 1 时抛出异常。
要通过名称(如“姓氏”)获取元素,您应该使用 GetElementsByName而不是 GetElementsByTagName应该用于标记行“输入”。
但是,没有函数会返回好的结果,因为您提供的 html 格式完全错误。
- “输入”标签是自闭的,应该如下所示:
<input .... />.删除不必要的额外'<input>'在最后! - 小心使用引号。应该是
onfocus="showInfoBox(this, 'Varchar(100) Latin capital letters only (A-Z) and spaces between surnames')";name=Surname"应该是name="Surname". - 输入必须具有类型属性(
<input type='text'或<input type='checkbox'等)
