HTML:
<input type="text" size="15" maxlength="79" value="" name="username">
如您所见,没有ID。上面的HTML是一个文本框,我想在我的代码启动网页后立即自动填写我的值。
这是我发现的:
WebBrowser1.Document.Forms(0).GetElementsByTagName("username")(0).SetAttribute("value", (Text))
但是我发现了这个错误:
Value of '0' is not valid for 'index'. 'index' should be between 0 and -1.
Parameter name: index
我做错了什么?
答案 0 :(得分:1)
这不会找到任何元素:
WebBrowser1.Document.Forms(0).GetElementsByTagName("username")
“标记名称”并不表示name
属性的值,它表示HTML标记本身的名称。像这样:
WebBrowser1.Document.Forms(0).GetElementsByTagName("input")
当然,这可能会返回多个匹配的元素,因此您需要进一步确定要修改的元素。关键是您应该进行一些错误检查以确保它找到任何内容,因为尝试索引空集合将导致错误:
WebBrowser1.Document.Forms(0).GetElementsByTagName("username")(0)
由于集合没有元素,因此索引0
没有任何内容。
答案 1 :(得分:0)
可能你可以尝试
Me.WebBrowser1.Document.GetElementByName("username").SetAttribute("Value", txtUsername.Text)