Веб-автоматизация VBA Выберите выпадающее значение из выпадающего списка HTML

#javascript #html #vba #dropdown

#JavaScript #HTML #vba #выпадающий список

Вопрос:

Я пытаюсь автоматизировать выбор из выпадающего списка в html через VBA.

Ниже приведен HTML. Я могу установить индекс параметра, а также изменить значение выпадающего списка, но ни один из них на самом деле не зацикливается и не изменяет значение в выпадающем списке.

Я пробовал:

 'this return "Object Not Supported" Error.
doc.getElementById("CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST_comboboxinput").selectedIndex = 1

'The below does enter the term I want, but clicking the search button resets it to the first item in the list.
doc.getElementById("CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST_comboboxinput").Value = "Quote Number"

'this sets the index but does not update the actual combobox
doc.getElementById("CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST").selectedIndex = 2

'and fire events doesn't help either
doc.getElementById("CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST").fireEvent "onChange" (or "onClick")
 
 <span class="input-large dynamic-input" id="CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria" data-bind="bizEntityDynamic: DynamicStore.PolSearchCriteria" data-sid="CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_46" data-origin="bizEntityDynamic">
   <select class="input-large dynamic-input combobox" id="CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST" style="display: none;" data-bind="bizEntityList: DynamicStore.PolSearchCriteria" data-sid="CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST_47" data-origin="bizEntityDynamic" data-origid="CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria" data-origclass="input-large dynamic-input">
  <option value=""></option>
  <option value="1">Nameamp;nbsp;ofamp;nbsp;Insured</option>
  <option value="2">Quoteamp;nbsp;Number</option>
  <option value="4">Accountamp;nbsp;Number</option>
  <option value="8">Policyamp;nbsp;Number</option>
  <option value="8388608">Policyamp;nbsp;Prefixamp;nbsp;/amp;nbsp;Number</option>
  <option value="16">Useramp;nbsp;Id</option>
  <option value="4194304">Underwriteramp;nbsp;Id</option>
  <option value="32">Sys.amp;nbsp;Assignamp;nbsp;Number</option>
  <option value="524288">Prevamp;nbsp;Sys.amp;nbsp;Assignamp;nbsp;Number</option>
   </select>
   <span class="custom-combobox-large" id="CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST_comboboxwrapper">
<span class="ui-helper-hidden-accessible" role="status" aria-live="polite"></span>
<input title="Select search criteria" class="custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left ui-autocomplete-input f1HelpTarget" id="CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST_comboboxinput" type="text" data-cbox="closed" autocomplete="off" data-dropdown="true" data-origval="Nameamp;nbsp;ofamp;nbsp;Insured">
<a tabindex="-1" title="" class="ui-button ui-widget ui-state-default ui-button-icon-only custom-combobox-toggle ui-corner-right" role="button" aria-disabled="false">
<span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s"></span>
<span class="ui-button-text"></span></a>
</span>
</span> 

Комментарии:

1. asp.net ? Можете ли вы запустить динамически созданный (извлеченный) список?

2. Я удалил некоторые классы css из разметки, чтобы помочь с форматированием. Я не думаю, что они требуются для этого вопроса.

3. @QHarr — Не уверен, что это asp.net . Раскрывающийся список загружается при загрузке веб-страницы. Другого триггера, о котором я знаю, нет.

4. @QHarr — Я обновил вопрос, найдя более релевантный HTML. Я могу изменить на selectedindex основе CoPolicyCreateSelectHTML_DynamicStore_PolSearchCriteria_LST , но на самом деле он не обновляет поле со списком на веб-сайте.