Попытка получить раскрывающийся список, который затем открывает следующий раскрывающийся список. всего их 3 - PullRequest
0 голосов
/ 08 мая 2018
<div class="col-md-12">
    <span class="text-danger">*</span> Birthplace:
</div>
<div class="col-md-4">
    <div class="form-group">
        <div class="col-md-12">
            <select class="form-control" data-val="true" data-val-number="The field Region must be a number." data-val-required="Please select Region" id="BRegionId" name="BRegionId">
                <option value="">Select Region</option>
                <option value="1">Region I - Ilocos</option>
                <option value="2">Region II - Cagayan Valley</option>
                <option value="3">Region III - Central Luzon</option>
                <option value="4">Region IVA - CALABARZON</option>
            </select>
            <span class="field-validation-valid text-danger" data-valmsg-for="BRegionId" data-valmsg-replace="true"></span>
        </div>
    </div>
</div>

<div class="col-md-4">
    <div class="form-group">
        <div class="col-md-12">
            <select class="form-control" data-val="true" data-val-number="The field Province must be a number." data-val-required="Please select Province / District" id="BProvinceId" name="BProvinceId">
                <option value="">--------</option>
            </select>
            <span class="field-validation-valid text-danger" data-valmsg-for="BProvinceId" data-valmsg-replace="true"></span>
        </div>
    </div>
</div>

<div class="col-md-4">
    <div class="form-group">
        <div class="col-md-12">
            <select class="form-control" data-val="true" data-val-number="The field City/Municipality must be a number." data-val-required="Please select City/Municipality" id="BCityId" name="BCityId">
                <option value="">--------</option>
            </select>
            <span class="field-validation-valid text-danger" data-valmsg-for="BCityId" data-valmsg-replace="true"></span>
        </div>
    </div>
</div>

<div class="col-md-4">
    <div class="form-group">
        <div class="col-md-12">

Я новичок в этой стороне вещей VBA (Access 2007) и HTML (IE) (это не моя профессия, а хобби), и я заставляю большинство вещей работать, читая разные посты, но одна вещь заставила меня застрял на несколько дней. Приведенный выше код является частью онлайн-формы, в которой я заполнил все поля, за исключением трех (3) раскрывающихся списков, в которых вам необходимо выбрать ПЕРВОЕ раскрытие и выбрать первый выбор, который затем изменит ВТОРОЙ раскрывающийся список (или сделает его True), затем вы делаете второй выбор, который затем изменяет раскрывающийся список ТРЕТЬЯ (или делает его ИСТИНА), затем вы делаете окончательный выбор.

Я могу сосредоточиться на первом раскрывающемся списке, заполнить первый раскрывающийся список данными, но я пробовал самые разные механизмы «щелчков», которые можно найти в Интернете, но ничего не получается.

Насколько я понимаю:

  1. Мне нужно либо скопировать то, что делает реальный сайт (т.е. как-то открыть выпадающий список, выбрать элемент, а затем снова щелкнуть), либо
  2. Заполните выпадающий список, затем как-нибудь скажите ему (по моему пониманию приведенного выше кода он говорит, что это ИСТИНА, прежде чем он откроет следующий выпадающий список для ввода).

Мой код, с которым я играю, приведен ниже с большим количеством попыток.

Dim HTMLDoc As HTMLDocument
Dim MyBrowser As InternetExplorer
Dim MyHTML_Element As IHTMLElement
Dim MyURL As String

On Error GoTo Err_Clear
MyURL = "http://t2mis.tesda.gov.ph/Registration/Register"
Set MyBrowser = New InternetExplorer
MyBrowser.Silent = True
MyBrowser.Navigate MyURL
MyBrowser.Visible = True

Do
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.Document
Err_Clear:
If Err <> 0 Then
    Err.Clear
    Resume Next
End If

Do
DoEvents
Loop Until IE.readyState = 4

HTMLDoc.All.Family_name.Value = "LASTNAME"
HTMLDoc.All.First_name.Value = "FIRSTNAME"
HTMLDoc.All.Middle_name.Value = "MIDDLENAME"

' SOME OF THE DIFFERENT CODES i HAVE BEEN TRYING TO OPEN AND SELECT 
  DROPDOWN
'Set oSELECT = MyBrowser.Document.getElementById("BRegionId")
'oSELECT.Focus
'oSELECT.selectedIndex = 11
'oSELECT.FireEvent "onchange"

'From page " 
 $('BRegionId').val('1').trigger('click').selectric('refresh'); 
  loadquote('1');"
'HTMLDoc.getElementById("BRegionId").selectedIndex = 1
'HTMLDoc.parentWindow.execScript "loadquote('1')"

'HTMLDoc.getElementsByClassName("form-control")(1).Click
'Set element = HTMLDoc.getElementById("BRegionId")
'HTMLDoc.getElementById("BRegionId").Click
'element.Value = "11"
'HTMLDoc.getElementById("BRegionId").Click

'Set objButton = HTMLDoc.getElementById("BRegionId")
'objButton.Focus
'objButton.Click
'HTMLDoc.getElementById("BRegionId").Value = "11"

'HTMLDoc.All.RegionId.Value = "11"   <<< THIS CAN FILL IN THE DROPDOWN 
 BUT NO REACTION
...