【问题标题】:Click on a href in VBA单击VBA中的href
【发布时间】:2017-03-29 22:08:39
【问题描述】:

我想点击以下链接

我有类名,我尝试使用的行代码如下:

objIE.document.getElementByClassName("msDataText searchLink").Click

这很可能是一个非常基本的问题..任何指导

非常感谢

【问题讨论】:

    标签: vba href


    【解决方案1】:

    不确定这是否是重复的问题。 link 已经提供了一个很好的函数GetHTTPResult。您只需传递 GET 请求的 url 即可获取数据。对于 POST 请求(此功能不起作用),您需要使用 postdata 发出 POST 请求。

    link也有 XMLHttpRequest 的示例

    Function GetHTTPResult(sURL As String) As String
        Dim XMLHTTP As Variant, sResult As String
    
        Set XMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
        XMLHTTP.Open "GET", sURL, False
        XMLHTTP.Send
        Debug.Print "Status: " & XMLHTTP.Status & " - " & XMLHTTP.StatusText
        sResult = XMLHTTP.ResponseText
        Debug.Print "Length of response: " & Len(sResult)
        Set XMLHTTP = Nothing
        GetHTTPResult = sResult
    End Function
    

    【讨论】:

    • 我会试试这个,但我认为可能有一种方法可以在不实际提取参考的情况下选择(或激活)链接。以同样的方式,我可以通过标记搜索谷歌的搜索底部,我的期望是,一旦我通过 getelementbyclass 函数指向它,我可以点击链接。我正在使用 excel 2013 将数据拉出金融网站(如果添加请求的信息)
    • 实际上,经过更好的搜索后,我找到了此链接stackoverflow.com/questions/24638533/…。最后一条评论似乎指向我提出的解决方案,但似乎不起作用..
    • 删除点击,将其设为Dim obj As Object Set obj = objIE.document.getElementByClassName("msDataText searchLink") 将其分配给一个对象,并在监视窗口中查看该对象的详细信息。它会给你一些提示。
    • 断章取义...我附上完整的代码,直到它崩溃为止。请告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 2020-04-15
    • 2019-01-11
    • 1970-01-01
    • 2020-05-02
    相关资源
    最近更新 更多