excel抓取多页网页数据(处理页面元素的方法-处理工具)
优采云 发布时间: 2022-03-03 18:17excel抓取多页网页数据(处理页面元素的方法-处理工具)
我正在尝试使用vba在excel中将表格的第二页保存在下面代码中的url中,但是我不能使用click属性,你能帮帮我吗?我在互联网上到处搜索,没有结果。谢谢。
Sub BrowseSiteTableObjectX()
Dim IE As New SHDocVw.InternetExplorer
Dim Docm As MSHTML.HTMLDocument
Dim HTMLAtab As MSHTML.IHTMLElement
Dim HTMLArow As MSHTML.IHTMLElement
Dim iRow As Long
With IE
.navigate "https://www.nasdaq.com/market-activity/stocks/screener"
Do While .Busy Or .readyState 4
DoEvents
Loop
End With
Set Docm = IE.document
Docm.getElementsByClassName("symbol-screener__pagination")(0).getElementsByClassName("next")(0).Click
Set Docm = IE.document
Set HTMLAtab = Docm.getElementsByClassName("symbol-screener__table")(0)
For Each HTMLArow In HTMLAtab.getElementsByClassName("symbol-screener__row")
iRow = iRow + 1
Cells(iRow, 1) = HTMLArow.getElementsByClassName("symbol-screener__cell symbol-screener__cell--ticker")(0).innerText
Cells(iRow, 2) = HTMLArow.getElementsByClassName("symbol-screener__cell symbol-screener__cell--company")(0).innerText
DoEvents
Next HTMLArow
IE.Quit
Set IE = Nothing
Set Docm = Nothing
End Sub
最佳答案
为了看看这是否有帮助,在这个 文章 中,我概述了处理页面元素的各种方法。您需要考虑“单击”“下一步”按钮时会发生什么。它可能正在提交表单,运行页面 javascript,
看看这些想法是否有帮助。您可能会发现 ExecScript 是最好的,因为 Next 按钮可能会链接回页面上的脚本以加载下一组数据。只需查看您的 Chrome 开发工具,看看会发生什么。
祝你好运!
关于 html - 使用 vba 抓取多页网页表单,我们在 Stack Overflow 上发现了一个类似的问题: