我正在尝试访问和更改IE11中网页上动态创建的下拉列表。我似乎没有将框设置为对象。
HTML代码不显示实际的下拉列表,而只显示脚本放置的分区:
<span id="valid_portOfUnlading" class="control-grop">
<span class="span2"><label for="portOfUnladingCode">Port of Unlading</label></span>
<span class="span2 span2-input"><div id="anchor_portOfUnlading" title="Port of Unlading"></div></span>
</span>
我从getElementById学到了表单ID和元素ID。此下拉元素的表单ID是“editEntryForm”或“manualEntryForm”(不确定是哪个。)选择框的ID是“edit_portOfUnladingCode”到目前为止,我尝试了以下内容:
Set evt = myDoc.createEvent("HTMLEvents")
evt.initEvent "change", True, False
Set lst = myDoc.getElementById("edit_portOfUnladingCode")
lst.selectedIndex = 6
lst.dispatchEvent evt
Set evt = myDoc.createEvent("HTMLEvents")
evt.initEvent "change", True, False
Set lst = myDoc.getElementById("edit_portOfUnladingCode")(0)
lst.selectedIndex = 6
lst.dispatchEvent evt
Set evt = myDoc.createEvent("HTMLEvents")
evt.initEvent "change", True, False
Set lst = myDoc.getElementById("edit_portOfUnladingCode")(1)
lst.selectedIndex = 6
lst.dispatchEvent evt
还有......
myDoc.getElementById("edit_portOfUnladingCode").Click
myDoc.getElementById("edit_portOfUnladingCode")(0).Click
myDoc.getElementById("edit_portOfUnladingCode")(1).Click
' works on version 8 but not 9 or later apparently
myDoc.getElementById("edit_portOfUnladingCode").Focus
myDoc.getElementById("edit_portOfUnladingCode").selectedIndex = 6
myDoc.getElementById("edit_portOfUnladingCode").FireEvent ("onchange")
myDoc.getElementById("edit_portOfUnladingCode")(0).Focus
myDoc.getElementById("edit_portOfUnladingCode")(0).selectedIndex = 6
myDoc.getElementById("edit_portOfUnladingCode")(0).FireEvent ("onchange")
myDoc.getElementById("edit_portOfUnladingCode")(1).Focus
myDoc.getElementById("edit_portOfUnladingCode")(1).selectedIndex = 6
myDoc.getElementById("edit_portOfUnladingCode")(1).FireEvent ("onchange")
我的智慧结束了。希望VBA自动化大师可以帮助我。提前谢谢。