我正在尝试更改InternetExplorer.Application上的下拉列表选择,然后保存该选择。我到目前为止的代码是
dim myValue
myValue="3"
for j = 0 to obj.Options.length - 1
if(obj.Options(j).Value = myValue) then
obj.Options(j).selected = true
exit for
end if
next
这适用于当前页面下拉列表,但是当我点击保存时,值" 3"没有保存,当我重新加载页面时它恢复到原来的值。
另外需要提及的是,当我手动时,点击下拉列表并选择一个值然后保存,当我重新加载页面时,会更新为新值。我已经尝试了obj.click函数,但我不相信程序化鼠标点击就像使用动作监听器实际鼠标点击一样。
我的猜测是与新值选择和页面的动作侦听器之间的数据绑定有关。我对vbscript很新,并尝试过各种不同的东西。
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
假设您已正确设置obj
个对象,例如就像是
set obj = ie.document.getElementById("my_dropdown")
然后您应该确保只选择了一个选项:
for j = 0 to obj.Options.length - 1
if (obj.Options(j).Value = myValue) then
obj.Options(j).selected = true ''' do not exit for
else
obj.Options(j).selected = false
end if
next
或
For Each opt In obj.Options
If opt.Value = myValue Then
opt.Selected = True
Else
opt.Selected = False
End If
Next
警告:上面的代码段可能导致(不希望的?)没有选项仍然被选中的情况!