【发布时间】:2020-05-09 20:10:35
【问题描述】:
所以,我是 VBA 的 IE 自动化的新手。我将尝试非常具体地回答我的问题。最近,我一直在尝试登录一个网站,然后从下拉列表中选择一个月。我可以从下拉列表中选择一个选项。但是,当我单击搜索按钮时,结果显示的不是我使用 VBA 选择的值,而是网页上最初存在的值。通常,如果一个人访问该网站,他必须单击下拉菜单并选择相关时期,然后单击搜索按钮。 我也尝试过 FireEvent“onchange”,但这似乎没有任何效果。 我附上了 VBA 的相关部分以及相关的 HTML。
请指导我如何选择时间段。
VBA 代码:
Set e = IE.document.getElementsByName("fin")(0)
e.Focus
e.selectedIndex = 1
e.FireEvent ("onchange")
HTML:
<select name="fin" class="form-control ng-pristine ng-not-empty ng-valid ng-valid-required ng-touched"
data-ng-model="finyr" data-ng-options="item.year for item in years"
value="item.year" data-ng-change="hidedata()" required="">
<option label="2019-20" value="object:143" selected="selected">2019-20</option>
<option label="2018-19" value="object:144">2018-19</option>
<option label="2017-18" value="object:145">2017-18</option>
<option label="2020-21" value="object:146">2020-21</option></select>
【问题讨论】: