0

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

我究竟做错了什么?

4

2 回答 2

1

这不会找到任何元素:

WebBrowser1.Document.Forms(0).GetElementsByTagName("username")

“标签名称”并不表示name属性的值,而是 HTML 标签本身的名称。像这样:

WebBrowser1.Document.Forms(0).GetElementsByTagName("input")

当然,这可能会返回多个匹配的元素,因此您需要进一步确定要修改哪一个。关键是您应该进行一些错误检查以确保它找到任何东西,因为尝试索引空集合会导致错误:

WebBrowser1.Document.Forms(0).GetElementsByTagName("username")(0)

由于该集合没有元素,因此 index 没有任何内容0

于 2013-09-26T13:25:07.737 回答
0

也许你可以试试

Me.WebBrowser1.Document.GetElementByName("username").SetAttribute("Value", txtUsername.Text)
于 2013-09-26T14:10:11.190 回答