如何在 Internet Explorer 中浏览 IE 框架?

How to navigate through IE frames in internet explorer?

我试图点击网页上的按钮,这些按钮似乎位于我不太了解的不同框架中。我写了以下脚本:

 Sub Tabtest()
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Top = 0
objIE.Left = 0
objIE.Width = 800
objIE.Height = 600
objIE.AddressBar = 1
objIE.StatusBar = 1
objIE.Toolbar = 1
objIE.Visible = True 'We will see the window navigation


objIE.navigate ("https://www.google.com/search?q=NYSE:WSO&tbm=fin#scso=uid_H2LSWorGEpD3gQaCt5uQBg_5:0,uid_bmLSWpGcLOLbgAbIzILQDw_5:0&wptab=OVERVIEW")
Do
DoEvents
Loop Until objIE.ReadyState = 4


    pageSource = objIE.Document.Body.OuterHtml



    objIE.Document.getElementsByClassName("SVWlSe")(1).Click

   End Sub

以上点击进入新闻标签。我现在想单击第一个新闻项(不只是使用 url)。

我该怎么做?我试图通过 class ID 获取元素,然后单击,但这不起作用。例如:

objIE.Document.getElementById("Z25Gce").Click

以上returns"object required"错误。所以我需要先激活带有新闻文章的框架。

有什么想法吗?

谢谢

编辑:

google 页面上有 2 个新闻标签 - 顶部列表带有 "All, Finance, News" 等,第二个标签列表带有 "Overview, News, Compare" 等。我正在尝试单击第二个选项卡列表中的 "News" 选项卡,然后单击顶部新闻项。

不确定这有多稳健。

Option Explicit

Public Sub Tabtest()

    Dim objIE As InternetExplorer
    Set objIE = CreateObject("InternetExplorer.Application")

    With objIE
        .Top = 0
        .Left = 0
        .Width = 800
        .Height = 600
        .AddressBar = 1
        .StatusBar = 1
        .Toolbar = 1
        .Visible = True
        .navigate "https://www.google.com/search?q=NYSE:WSO&tbm=fin#scso=uid_H2LSWorGEpD3gQaCt5uQBg_5:0,uid_bmLSWpGcLOLbgAbIzILQDw_5:0&wptab=OVERVIEW"

        While .Busy = True Or .readyState < 4: DoEvents: Wend
        .document.getElementsByClassName("SVWlSe")(1).Click
        While .Busy = True Or .readyState < 4: DoEvents: Wend
        .document.getElementsByClassName("dbsr")(0).getElementsByTagName("a")(0).Click   
    End With
End Sub