在Makemytrip上使用Vba Internet Explorer选择按出发排序



我正在尝试使用 Vba Internet Explorer 在 makemytrip 上选择按出发(早期(排序(下面给出的链接(,但无法做到这一点。

友情链接:- https://www.makemytrip.com/air/search?tripType=O&itinerary=DEL-DXB-D-30Nov2017&paxType=A-1&cabinClass=E

请检查下面给出的代码并帮助添加相同的行。

Sub mmtlink()
Dim IE As New SHDocVw.InternetExplorer
IE.Visible = True
IE.navigate "https://www.makemytrip.com/air/search?tripType=O&itinerary=DEL-DXB-D-30Nov2017&paxType=A-1&cabinClass=E"
IE.document.getElementById("sorterText").Click
End sub

根据模糊的描述,我简要查看了您提供的链接。

尝试用IE.document.getElementsByClassName("dropdown pull-right c-dropdown sortby-dropdown")填充iHTMLElementCollection。这很可能是一个元素的集合 - 包含<button><ul>的div 类。<ul>包含一些<li>,其中第三个包含出发排序选项。

您可以通过子元素从div 元素指向该选项 - 例如:divelement.children(1).children(2).children(0).click

希望这能帮助你以某种方式得到答案。下次:@jwdonahue评论中说的...您需要提供有关您的问题的更多信息,您尝试过什么,确切的问题是什么,您已经尝试过什么,您的范围是什么?

感谢邦特斯喇嘛的大力帮助。请在下面查看我提出的问题的答案。

Sub mmtlink()
Dim IE As New SHDocVw.InternetExplorer
Dim htmldoc As MSHTML.HTMLDocument
Dim all As MSHTML.IHTMLElementCollection
Dim one As MSHTML.IHTMLElement
'Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "https://www.makemytrip.com/air/search?tripType=O&itinerary=DEL-DXB-D-30Nov2017&paxType=A-1&cabinClass=E"
 Do While IE.Busy = True Or IE.readyState <> 4
 Loop
    Set htmldoc = IE.document
    Set all = htmldoc.getElementsByClassName("sortbytype")
    For Each one In all
       If one.getAttribute("Innertext") = "from BOM (early)" Then
            one.Click
       End If
    Next one
Next i
End Sub

最新更新