Выберите <TR>под HTML VBA - PullRequest
       14

Выберите <TR>под HTML VBA

0 голосов
/ 18 мая 2019

Привет еще раз. Приведенный выше код работает для выбора недели, но не для выбора времени

<td style="white-space:nowrap;">Master Timings</td>
<td>
    <select name="ddlSTSun" id="ddlSTSun" onChange="return ChangeAllSTET(frmRosterInfoTLEmp,&#39;ddlSTSun&#39;,&#39;ddlST1Sun02&#39;);" style="font-family:Arial;font-size:9pt;">
        <option value="01:00">01:00</option>
        <option value="02:00">02:00</option>
        <option value="03:00">03:00</option>
        <option value="04:00">04:00</option>
        <option value="05:00">05:00</option>
        <option value="06:00">06:00</option>
        <option value="07:00">07:00</option>

Мой код VBA

ie.Document.getElementsByTagName("iframe")(0).contentDocument.querySelector("[name=cmbWeeks]").selectedIndex = "Week:-2 19-May-2019"
ie.Document.getElementsByTagName("iframe")(0).contentDocument.querySelector("[name=cmbWeeks]").FireEvent ("onchange")
Sleep 5000
ie.Document.getElementsByTagName("iframe")(0).contentDocument.querySelector("[name=ddlSTSun]").selectedIndex = "12:00"
ie.Document.getElementsByTagName("iframe")(0).contentDocument.querySelector("[name=ddlSTSun]").FireEvent ("onchange")

1 Ответ

0 голосов
/ 18 мая 2019

Идентификатор есть, поэтому используйте его в первую очередь.Затем selectedIndex занимает позицию индекса, например 1,2 и т. Д., А не значение времени.

ie.Document.getElementsByTagName("iframe")(0).contentDocument.querySelector("#ddlSTSun").selectedIndex = 1 

Вы можете использовать селектор атрибута = значение, чтобы указать время:

ie.Document.getElementsByTagName("iframe")(0).contentDocument.querySelector("#ddlSTSun [value='12:00']").selected = True

Событие (если требуется):

ie.Document.getElementsByTagName("iframe")(0).contentDocument.querySelector("#ddlSTSun").FireEvent "onchange"
...