gpt4 book ai didi

excel - 从 EXCEL VBA 单击 Web 上的按钮

转载 作者:行者123 更新时间:2023-12-04 22:30:04 26 4
gpt4 key购买 nike

我在 Excel 中使用 VBA,我正在尝试访问网页,然后单击链接以在我的 PC 上触发 CSV 下载。

到目前为止,我可以使用 VBA 打开 IE 并访问所需的网页。但是在检查了页面的 HTML 代码 (F12) 并使用 getElementsByClassName 和其他方法之后,我无法生成一个可点击的对象来触发我的代码下载。

子 Automate_IE_Enter_Data()
'这将在 IE 中加载一个网页
暗淡我只要
将 URL 变暗为字符串
将 IE 调暗为对象
将 objElement 作为对象调暗
将 objCollection 调暗为对象
调暗 HWNDSrc

'Create InternetExplorer Object
Set IE = CreateObject("InternetExplorer.Application")

'Set IE.Visible = True to make IE visible, or False for IE to run in the background
IE.Visible = True

'Define URL
'URL = "https://www.automateexcel.com/excel/vba"
URL = "https://www.barchart.com/futures/quotes/ZWF9|530P/price-history/historical"

'Navigate to URL
IE.Navigate URL

' Statusbar let's user know website is loading
Application.StatusBar = URL & " is loading. Please wait..."

' Wait while IE loading...
'IE ReadyState = 4 signifies the webpage has loaded (the first loop is set to avoid inadvertantly skipping over the second loop)
'Do While IE.ReadyState = 4: DoEvents: Loop
Do Until IE.ReadyState = 4: DoEvents: Loop

'Webpage Loaded
Application.StatusBar = URL & " Loaded"

'Get Window ID for IE so we can set it as activate window
HWNDSrc = IE.hWnd
'Set IE as Active Window
SetForegroundWindow HWNDSrc

Set IEAppColl = IE.Document.getElementsByClassName("bc-glyph-download")(0)

IEAppCol.Click

Application.Wait Now + TimeValue("00:00:10")

SetForegroundWindow HWNDSrc

Application.Wait Now + TimeValue("00:00:05")

结束子

预期:1)在 IE 上打开以下 URL:
https://www.barchart.com/futures/quotes/ZWF9|530P/price-history/historical
2) 点击每日价格部分的“最高”链接下载 CSV 文件

1) 没问题
2) 产生错误:对象不支持此属性或方法。

我没有点击关于如何在我的 VBA 代码中复制“max”链接的点击。不确定我使用的是正确的名称。

最佳答案

除非您已登录,否则该站点不会让您下载 csv。您指定的类链接到一个 jQuery,该 jQuery 会检查您的登录状态并在您未登录时引发错误。要通过 excel 下载它,您首先需要访问网站并创建一个帐户,然后编写代码让您登录,然后下载 csv,它应该可以工作。我不知道确切的语法,但希望这会为您指明正确的方向。

我也建议尝试 Selenium。它是一种流行的网络爬虫软件,因此应该很容易找到这方面的帮助。

关于excel - 从 EXCEL VBA 单击 Web 上的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53938171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com