使用VBScript修改HTML列表框值

时间:2015-07-20 11:45:36

标签: html vbscript

如何使用HTML页面中的VBScript将列表框的值设置为某个已存在的值,例如text3

这是我的HTML:

<!DOCTYPE html>
<html>
<body>
    <select name="sometext"  id="dsds">
        <option value="1">text1</option>
        <option value="2">text2</option>
        <option value="3">text3</option>
        <option value="4">text4</option>
        <option value="5">text5</option>
    </select>
</body>
</html>

这是我的VBScript代码:

Dim ie
Set ie = WScript.CreateObject("InternetExplorer.Application")
ie.navigate("hey12.html")
ie.width = 900
ie.height = 600
ie.Visible = 1
WScript.sleep(5000)
Set Helem1 = IE.document.getElementByID("dsds")
Helem1.value = "text3"

使用上面的代码,我无法修改列表框值或文本。

2 个答案:

答案 0 :(得分:2)

您可以使用SelectedIndex元素的<select>属性通过索引执行此操作。这是从零开始的。由于text3是第三个选项,因此请使用值2

Set Helem1 = IE.document.getElementByID("dsds")
Helem1.SelectedIndex = 2

或者您可以查看每个<option>元素的文本值,当您找到要查找的元素时,请将其Selected属性设置为True

Set Helem1 = IE.document.getElementByID("dsds")

For Each o In Helem1.Options
    If o.InnerText = "text3" Then o.Selected = True
Next

答案 1 :(得分:1)

要设置/更改选项的.value - 或.text - (而不是仅选择它),请使用

Helem1(2).value = "newValue"
Helem1(2).text = "newText"

(解决邦德答案中被盗物品的方法)