【问题标题】:How to Select Drop Down Menu in VBA如何在 VBA 中选择下拉菜单
【发布时间】:2020-01-25 08:10:04
【问题描述】:

这是我的 VBA 代码,我是新手。有几次我试图访问 Tabheader 菜单“Tender”下的下拉菜单“My Tender”,但我做不到。我不明白我需要在哪里对此进行更正...

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>

【问题讨论】:

    标签: html vba internet-explorer web-scraping automation


    【解决方案1】:

    代替这段代码:

    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
    

    【讨论】:

    • 我是新来的...所以请您为我提供完整的代码。我不明白我实际上需要在哪里进行更改?
    • 请查看编辑,如果更清楚,请告诉我。
    • 不,它不起作用..你能告诉我鼠标悬停在菜单上并点击 vba 的代码是什么吗?
    • 我建议用所有相关细节以及您想要实现的目标更新问题。
    猜你喜欢
    • 2012-10-01
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    相关资源
    最近更新 更多