有人可以告诉我如何从VBScript下面的列表中选择“Expanded Fields / Comma Separated”选项吗?我搜索了所有内容,但我找到的大多数内容都与使用getelementbyID
有关,在这种情况下无效。
<form name="mainform" action="proxy.aspx?page=download&sub=submit" method="post">
<table width="100%">
<tbody><tr id="headertext">
<td colspan="2">
<div id="PageHeader">
<div id="Title">Select Download File Type</div>
<div id="Help">
<a href="javascript:openHelp(4010);">Help</a></div>
</div>
</td>
</tr>
<tr id="headertext2" style="display: none;">
<td class="MainHeaderFont" colspan="2">
<div>Download Request Submitted</div>
</td>
</tr>
<tr><td colspan="2">
<select name="version">
<option value="300" selected="">Standard/Tab Delimited</option>
<option value="310">Standard with Card Code/Tab Delimited</option>
<option value="400">Expanded Fields/Comma Separated</option>
<option value="VbV">Expanded Fields with CAVV Response/Comma Separated </option>
</select>
</td>
</tr>
</tbody>
</table>
</form>
答案 0 :(得分:0)
如果您无法按ID选择,则必须按名称或标签名称进行选择,并通过其他条件从结果集中标识相关元素,例如元素的文本。
在这种情况下,您需要获取的元素是<select>
,因为您想迭代其子元素(<option>
),特别是如果您想要更改选择,因为您必须取消选择当前为此选择的选项。
由于您的<select>
元素具有name
属性,因此可以使用getElementsByName
,如下所示:
For Each option In doc.getElementsByName("version")(0)
If option.innerText = "Expanded Fields/Comma Separated" Then
option.Selected = True
Else
option.Selected = False
End If
Next
doc
是引用页面document
属性的变量。
由于name
属性不必是唯一的getElementsByName
,因此返回一个列表,因此您需要选择要处理的元素(在本例中是第一个,在索引0处)