Как выбрать выпадающее меню в VBA - PullRequest
1 голос
/ 25 сентября 2019

Вот мой код VBA. Я новичок в этом.Несколько раз я пытался получить доступ к выпадающему меню «Мой тендер» в меню Tabheader «Тендер», но не смог этого сделать.Я не понимаю, где мне нужно сделать исправление для этого ...

Sub Test()
    Dim IE As InternetExplorer
    Dim doc As HTMLDocument
    Dim ele As HTMLElementCollection


    Set IE = New InternetExplorer
    IE.Visible = True

    IE.navigate "https://www.eprocure.gov.bd"

    Do While IE.readyState <> READYSTATE_COMPLETE
        DoEvents
    Loop

    Set doc = IE.document

    doc.getElementById("txtEmailId").Value = "******"
    doc.getElementById("txtPassword").Value = "******"
    doc.getElementById("btnLogin").Click



    For Each ele In doc.getElementByclassName("ddsubmenustyle")(0).getElementByTagName("a")
        If InStr(ele.href, "/tenderer/MyTenders.jsp") > 0 Then doc.navigate ele.href: Exit For
    Next ele



End Sub

Вот мой HTML-код, где я хочу получить доступ ....


                <ul>

                    <li><a title="Home" href="/Index.jsp" id="headTabHomePage"><img alt="Home" src="/resources/images/Dashboard/HomeIcn.png">Home</a></li>


                    <li><a title="Message Box" href="/resources/common/InboxMessage.jsp" id="headTabMsgBox"><img alt="Message Box" src="/resources/images/Dashboard/msgBoxIcn.png">Message Box</a></li>
                    <li><a title="APP" href="#" rel="submenu-configuration" id="headTabApp" class=""><img alt="APP" src="/resources/images/Dashboard/AppIcn_1.png">APP</a></li>
                    <li><a title="Tender" href="#" rel="ddsubmenu2" id="headTabTender" **class="selected"><img alt="Tender" src="/resources/images/Dashboard/tenderIcn.png">Tender</a></li>
                    <li>**<a title="Doc. Library" href="#" rel="docMenu" id="headTabDocLib" class=""><img alt="Doc. Library" src="/resources/images/Dashboard/DocLib.gif">Doc. Library</a></li>


                </ul>

                <ul>

                <li><a href="/tenderer/TenderWatchList.jsp">Watch List</a></li>
                **<li><a href="/tenderer/MyTenders.jsp">My Tenders</a></li>**
                <li><a href="/tenderer/RestrictedTenders.jsp">Limited Tenders</a></li>
                <li><a href="/resources/common/AllTenders.jsp?h=f">All Tenders</a></li>

                <li><a href="/tenderer/JvcaList.jsp">Propose JVCA</a></li>

                     </ul>

1 Ответ

0 голосов
/ 25 сентября 2019

Вместо этого кода:

For Each ele In doc.getElementByclassName("ddsubmenustyle")(0).getElementByTagName("a")
    If InStr(ele.href, "/tenderer/MyTenders.jsp") > 0 Then doc.navigate ele.href: Exit For
Next ele

Вы можете заменить эти строки с помощью attribute = value css селектор с оператором содержит или даже заканчивается оператором, т.е.

ie.document.querySelector("[href$='MyTenders.jsp']").click
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...