2015-12-01 70 views
0

有人可以告诉我如何从VBScript下面的列表中选择选项“Expanded Fields/Comma Separated”吗?我搜遍了所有的东西,但是我发现的大多数东西都与getelementbyID有关,这在这种情况下不起作用。在没有ID标签的列表中选择选项

<form name="mainform" action="proxy.aspx?page=download&amp;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

如果无法通过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)。

相关问题