У меня есть две три выпадающих на веб-странице.Вручную При выборе первого раскрывающегося списка как «Нет» два других автоматически показывают ноль в нем.При нажатии Enter он перемещается на следующую HTML-страницу.Однако я могу выбрать значения во всех трех выпадающих списках, используя vba, но при нажатии введите два раскрывающихся списка снова, чтобы отобразить «Выбрать» вместо 0 и не перейти на следующую страницу.
Я пытался для каждого цикла кака также getElementByID
при нажатии Введите веб-страницы должны перейти на другую страницу.
<select name="UnhedgedYes" id="DDLLUnhedgedYes" style="font-size: 12px;"><option value="Yes">Yes</option>
<option value="No">No</option>
</select>
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="UnhedgedYes"></span>
<select name="DDLIPRUFCE" class="DDLIPRUFCE" id="DDLIPRUFCE" style="font-size: 12px;" data-val-required="Please Select Incremental Provisioning Requirement-due to UFCE" data-val="true" data-val-number="The field DDLIPRUFCE must be a number."><option value="">[Select]</option>
<option value="1" text="0">0</option><option value="6" text="10">10</option>
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="DDLIPRUFCE"></span>
<input name="hidDDLIPRUFCE" id="hidDDLIPRUFCE" type="hidden" value="" autocomplete="off" data-val-required="The hidDDLIPRUFCE field is required." data-val="true" data-val-number="The field hidDDLIPRUFCE must be a number.">
<select name="DDLIRiskW" class="DDLIRiskW" id="DDLIRiskW" style="font-size: 12px;" data-val-required="Please Select Incremental Risk Weight- due to UFCE" data-val="true" data-val-number="The field DDLIRiskW must be a number."><option value="">[Select]</option>
<option value="2" text="0">0</option><option value="1" text="25">25</option></select>
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="DDLIRiskW"></span>
<input name="hidDDLIRiskW" id="hidDDLIRiskW" type="hidden" value="" autocomplete="off" data-val-required="The hidDDLIRiskW field is required." data-val="true" data-val-number="The field hidDDLIRiskW must be a number.">
Ниже приведены коды, которые я пробовал, но они не работают.
1
ie.document.querySelector("option[value=No]").Selected = True
2
Set oSelect = ie.document.getElementById("DDLLUnhedgedYes")
oSelect.selectedIndex = 1
oSelect.FireEvent "onchange" ' although there is no fireevent exist on this element.
3
For Each op In ie.document.querySelectorAll("option")
If op.innerText = 0 Then
op.Selected = True
t = t + 1
If t = 2 Then
Exit For
End If
End If
Next
4 Этот код будет вводить Нет в первом раскрывающемся списке и 0 в двух других отключит другие два раскрывающихся списка.Но при нажатии Enter остается на той же странице, вместо этого показывает [Выбрать] в двух других выпадающих списках
Set Post = ie.document.getElementById("DDLLUnhedgedYes")
''I didn't use any index to do the job
For Each elem In Post.getElementsByTagName("option")
If InStr(elem.Value, "No") > 0 Then
elem.Selected = True
ie.document.getElementById("DDLIPRUFCE").getElementsByTagName("option")(1).Selected = True: ie.document.getElementById("DDLIPRUFCE").FireEvent ("onchange")
ie.document.getElementById("DDLIPRUFCE").disabled = True
ie.document.getElementById("DDLIRiskW").getElementsByTagName("option")(1).Selected = True: ie.document.getElementById("DDLIRiskW").FireEvent ("onchange")
ie.document.getElementById("DDLIRiskW").disabled = True
Exit For
End If
Next elem
ie.document.getElementById("btnEnter").Click