【发布时间】:2014-01-03 21:22:29
【问题描述】:
我正在尝试使用 VBA 在 Internet Explorer 页面上输入一个值。我看过类似的帖子,但似乎无法确定我的问题。我对 VBA 有点流利,但 HTML 对我来说是新的。每次加载页面时,我正在访问的网页上的 ID 属性都会发生变化。这是我尝试访问的 HTML 元素的截图:
<input type="text" size="20" style="text-align: right; width: 261px;" autocomplete="off" id="ext-comp-1067" name="user_numbers.1.number_1" class="x-form-text x-form-field x-form- num-field" title="">
我目前使用的代码在这里:
Sub OpenWebPage()
Dim ObjCollection As Object
Dim i As Long
Dim objElement As Object
Dim doc As Object
Dim form As Object
Dim ie As Object
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.Navigate "http://11.182.123.21/#!/view/dashboards/dashboard-1"
ie.Visible = True
While ie.Busy
DoEvents
Wend
Application.Wait Now + TimeValue("00:00:10")
Set ObjCollection = ie.Document.getElementsByName("user_numbers.1.number_1").Value = "123"
End sub
名称“user_number.1.number_1”我认为是html中唯一可以用来找到这个输入框的元素,每次打开网页时ID都会改变。 如何在此字段中输入值?
谢谢!
【问题讨论】:
-
ID是否也会改变
id="ext-comp-1067"? -
是的,只要您关闭网页并重新加载它,它就会发生变化。名称没有改变,但这就是我尝试使用它的原因。
-
你有一个额外的“=”符号。
-
我尝试了完全相同的代码,它对我有用。顺便说一句,您的机器上安装了哪个 Internet Explorer 版本?
-
@PradeepKumar 我使用的是 IE 8