首页 > 解决方案 > 我怎样才能点击源代码中的超文本?

问题描述

我已经开始编写这些命令行,但似乎工作正常......

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Row = Range("Name").Row And Target.Column = Range("Name").Column Then

        Dim HTMLdoc As HTMLDocument
        Dim downloadLink As HTMLAnchorElement
        Dim i As Long
        Dim ie As New InternetExplorer

        With ie
            .Visible = True
            .navigate "http://www.XXXXXXXXXX" & Range("Name").Value

            While .Busy Or .readyState <> 4
            DoEvents
            Wend
            Set HTMLdoc = .document
        End With

            Dim Elmt As IHTMLElement
            Dim Elm_Children As IHTMLElementCollection

            Elm = HTMLDocument.getElementById("tableList2")
            Elm_Children = Elm.Children
            ElmChildren.FirstChild.Click

        ie.Quit

    End If

End Sub

源代码如下所示:

在此处输入图像描述

主要思想是打开一个搜索页面并在Excel工作表中列出一个搜索请求,然后单击新页面中的第一个命中和最后一个报废信息:将这些信息粘贴在同一个工作表中但不同的行中。

非常感谢您的帮助 :-)

标签: excelvbaweb-scraping

解决方案


你可以试试

HTMLDoc.querySelector("#tableList2 .lstw4 a[onclick]").Click

甚至

HTMLDoc.querySelector("#tableList2 [onclick*='openMainWindow']").Click

这些使用#id 选择器来获取表,.在后代组合器中的第一个类选择器用于获取表中具有类的元素lstw4,以上都使用属性选择器来定位onclick属性。第一个简单地通过属性和父类的第一个子a标签,第二个通过其值包含。onclicklstw4onclickopenMainWindow


推荐阅读