VBA HTML对象Internet Explorer自动化
如何从下拉菜单中选择选项并更新网页。 代码: 然后,我导航到一个URL,使用html id获取下拉菜单,并将value=my所需的值 我成功地得到了这个选项。但是,网站不更新吗?e、 g.填写其他字段 我认为需要运行一些javascript。 如何使用VBA修复此问题 下拉菜单字段的源代码:VBA HTML对象Internet Explorer自动化,html,excel,vba,dom,xpath,Html,Excel,Vba,Dom,Xpath,如何从下拉菜单中选择选项并更新网页。 代码: 然后,我导航到一个URL,使用html id获取下拉菜单,并将value=my所需的值 我成功地得到了这个选项。但是,网站不更新吗?e、 g.填写其他字段 我认为需要运行一些javascript。 如何使用VBA修复此问题 下拉菜单字段的源代码: <div id="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox" class="Invalid RadComboBox RadCo
<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>
Source code for dropdown options:
<div id="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox_DropDown" class="RadComboBoxDropDown RadComboBoxDropDown_Telerik " style="width: 204px; display: block; top: 0px; visibility: visible; transition: none 0s ease 0s;">
<div class="rcbScroll rcbWidth" style="height: 126px;">
<ul class="rcbList"><li class="rcbHovered">Forespørgsel til Energinet</li>
<li class="rcbItem">Måledata</li><li class="rcbItem">Målepunkt eller ad hoc spørgsmål</li>
<li class="rcbItem">Orientering til alle</li>
<li class="rcbItem">Priser</li><li class="rcbItem">Pristilknytninger</li></ul></div></div>
选择
下拉选项的源代码:
能源网之前的预测
Måledata Målepenkt eller特设spårgsmål
定向直到所有
普里斯特Pristilknytninger
适用于任何遇到此问题的人。我通过查找getelementbyid方法的focus属性解决了这个问题。像这样:
HTMLDoc.getElementById("xyz").focus
HTMLDoc.getElementById("xyz").click
HTMLDoc.getElementById("xyz").Value = myoption
这解决了我的问题。你能发布HTML内容并提供更多细节吗?分解代码并调试。例如,
HTMLDoc.getElementById(“xyz”)
是否返回任何内容?Yes@Nathan_Sav。它在下拉字段中正确返回下拉选项。但是网页不会更新。我认为下拉列表需要更改selecteditem,如果看不到您试图获取的html,很难在顶部找到一些按钮,您可以在其中更改以显示代码格式
<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>
Source code for dropdown options:
<div id="ctl00_MainContent_CreateWebForm__SubjectComboBox_ComboBox_DropDown" class="RadComboBoxDropDown RadComboBoxDropDown_Telerik " style="width: 204px; display: block; top: 0px; visibility: visible; transition: none 0s ease 0s;">
<div class="rcbScroll rcbWidth" style="height: 126px;">
<ul class="rcbList"><li class="rcbHovered">Forespørgsel til Energinet</li>
<li class="rcbItem">Måledata</li><li class="rcbItem">Målepunkt eller ad hoc spørgsmål</li>
<li class="rcbItem">Orientering til alle</li>
<li class="rcbItem">Priser</li><li class="rcbItem">Pristilknytninger</li></ul></div></div>
HTMLDoc.getElementById("xyz").focus
HTMLDoc.getElementById("xyz").click
HTMLDoc.getElementById("xyz").Value = myoption