如何在 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
我试图点击网页上的按钮,这些按钮似乎位于我不太了解的不同框架中。我写了以下脚本:
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