为了账号安全,请及时绑定邮箱和手机立即绑定

VBA HTML 对象 Internet Explorer 自动化

VBA HTML 对象 Internet Explorer 自动化

开心每一天1111 2023-10-24 15:55:53
如何从下拉菜单中选择一个选项并更新网页。代码:Dim IE As New SHDocVw.InternetExplorerDim HTMLDoc As MSHTML.HTMLDocument然后我导航到一个 URL,并使用 html id 获取下拉菜单并输入 value=我想要的值HTMLDoc.getElementById("xyz").Value = "dropdown_option" 我成功获得了该选项。但是,网站不更新吗?例如填写其他字段。我相信需要运行一些 JavaScript。我该如何使用 VBA 解决这个问题?下拉菜单字段的源代码:<div id="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox" class="Invalid RadComboBox RadComboBox_Telerik SearchComboBox" style="width:206px;white-space:normal;">    <table summary="combobox" style="border-width:0;border-collapse:collapse;width:100%" class="rcbFocused rcbExpanded">        <tbody><tr class="rcbReadOnly">            <td class="rcbInputCell rcbInputCellLeft" style="width:100%;"><input name="ctl00$MainContent$CreateWebForm_$SubjectComboBox$ComboBox" type="text" class="rcbInput radPreventDecorate" id="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox_Input" value="Vælg" readonly="readonly" accesskey="s" autocomplete="off"></td><td class="rcbArrowCell rcbArrowCellRight"><a id="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox_Arrow" style="overflow: hidden;display: block;position: relative;outline: none;">select</a></td>        </tr>    </tbody></table><input id="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox_ClientState" name="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox_ClientState" type="hidden" autocomplete="off"></div>
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

对于任何遇到这个问题的人。我通过找到getelementbyid 方法的focus属性解决了这个问题。像这样:

  1. 首先,我循环浏览列表以找到我的选项。我使用标记名和类名并匹配innertext属性= myoption (仅当该字段不允许您输入文本时才需要)然后当匹配发生时,执行.focus,然后在该对象上执行.click。

  2. 否则,只需使用焦点,然后单击字段上的属性并输入您的选项:

    HTMLDoc.getElementById("xyz").focus
    HTMLDoc.getElementById("xyz").click
    HTMLDoc.getElementById("xyz").Value = myoption

这将自动刷新 html 页面。

这解决了我的问题。


查看完整回答
反对 回复 2023-10-24
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信