excel - 通过 Excel VBA 单击链接 - getElementsByTagName 不起作用
问题描述
我以前见过这种方式的 excel VBA,但不幸的是,它似乎对我不起作用。我正在使用 Excel 2016,我正在尝试导航到内部网站并单击链接以开始下载文件并将其保存到我的桌面,但不幸的是,我看到的代码“点击”该链接似乎不起作用。
请看下面的代码:
Sub Downloader()
Dim Browser As Object
Dim Website As String
Dim LinkList As Object
Set Browser = CreateObject("InternetExplorer.Application")
Website = "http://website.com/thingamajig.html"
With Browser
.Visible = True
.navigate Website
For Each X In .document.getElementsByTagName("a")
If X.Title = "Link to Change Reports" Then
X.Click
Exit For
End If
Next
End With
End Sub
代码一直运行到开始查找 For Each X... 的行之后,我收到一条错误消息,指出以下内容:
运行时错误“-2147467259 (80004005)”:自动化错误未指定错误*
解决方案
在开始搜索链接之前,您必须留出一些时间让导航文档完全下载。
在指定行之间将以下标记行添加到您的代码中:
....
.navigate Website 'after this line
Do While Browser.Busy = True Or Browser.readyState <> 4
DoEvents
Loop
For Each X In .document.getElementsByTagName("a") 'before this line
....
推荐阅读
- node.js - 关闭外壳后如何保持苗条服务器运行?
- google-play - 使用购买流程测试 Google Play 实时通知
- c# - XAML DataGrid 与 MultiSelect ComboBox 绑定
- java - 无法启动 Apache TomEE 服务器 - 未找到部署:openejb/Deployer
- c# - 如何从 Program.cs 文件中的 appsettings.json 文件访问数据库连接字符串
- wpf - 对 HTML 和 WPF 视图使用相同的 ViewModel
- pandas - 使用带有自己的函数和参数的 Pandas 数据框 groupby.filter
- c# - .NET Core 没有 OID 值与此名称匹配
- javascript - 节点登录错误:无法获取 /users/auth/login
- winapi - C++ Win32 API - CreateFont():文档示例令人困惑