我正在使用 VBA 让 Excel 浏览一些网页并从中提取数据。在一个页面上,我需要更改在继续之前检查了两个单选按钮中的哪一个。不幸的是,组中的各个单选按钮没有指定的 ID。默认情况下是否为单选按钮分配了一个索引,我可以使用它来确定我想要检查哪个?我如何在 VBA 中做到这一点?
这是来自网页的源代码。最初选中第一个单选按钮。我想在单击 sbmSearch 按钮之前将第二个更改为已选中。
<table class="Searchstyle">
<tr>
<td>Search by
<input type="radio" name="rdoSearchBy" value="Report" checked> Report No or
</td>
<td>
<input type="radio" name="rdoSearchBy" value="Author"> Author
</td>
<td>
<input type="submit" name="sbmSearch" value="Search">
</td>
</tr>
</table>
这是我的 VBA 代码:
With oIE ' my InternetExplorer object
.
.
With .Document.all
'.rdoGiren.Author.Checked = True ' attempt 1 - error
.getElementsByName("rdoSearchBy")(1).Checked = True ' attempt 2 - error
.sbmSearch.Click ' Clicks the Search button
End With
Do While .Busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
.
.
End With
我认为必须有办法做到这一点,我只是没有找到答案。