vba - 浏览网站时如何点击按钮?
问题描述
我正在尝试打开网站、登录、选择报告并以 Excel 格式保存。
我设法打开 IE,导航到该站点,输入用户名/密码并登录。
如何选择网页按钮打开报告页面?
下面是我尝试单击的网站上的按钮部分和我尝试过的代码,两者都没有给出任何错误消息,它们根本不做任何事情。
Sub vbamacro()
Dim IE As Object
Dim IEPage As Object
Dim IEPageElement As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
'Enter website name below
IE.Navigate "websitename"
'Ready state means wait until the website has loaded
Do Until IE.ReadyState = 4
DoEvents
Loop
Set IEPage = IE.Document
Set IEPageElement = IEPage.getElementById("ctl00__contentPlaceHolder__txtUserID")
IEPageElement.Value = "username"
Set IEPageElement = IEPage.getElementById("ctl00__contentPlaceHolder__txtPassword")
IEPageElement.Value = "password"
Set IEPageElement = IEPage.getElementById("ctl00__contentPlaceHolder__btnLogin")
IEPageElement.Click
Do Until IE.ReadyState = 4
DoEvents
Loop
With IE.Document
Set elems = .getElementsByTagName("Li")
For Each e In elems
If (e.getAttribute("ID") = "Reports3") Then
e.Click
Exit For
End If
Next e
End With
End Sub
也试过了;
For each e in ie.document.getElementsByTagName("Li")
If e.ID = "Reports3" Then
e.Click
Exit For
End If
Next
解决方案
尝试直接导航到所需元素的 href
IE.navigate(e.href)
此外,您正在单击“Li”标签元素,您必须获得 Li 儿童标签,女巫是“a”(具有 href 属性的标签)
推荐阅读
- javascript - Object value in array is undefined
- conv-neural-network - Number of parameter for convolutional filter
- docker - 如何在 Airflow 上运行 DockerOperator?
- python - 在 Python 中从字符串中提取电子邮件服务提供商
- opendaylight - 编译 Opendaylight Fluorine 的 hello world 示例时出错 - yang 工具问题
- javascript - Get all the Child Elements and push it into array
- java - 在给定大小的单元格java中间绘制字符串
- python - 如何准确测量在 python 3.7 中返回值的函数的 cpu 时间?
- c# - 如何从 gziptream 生成的字节数组创建 gz zip 文件
- react-native - Redux Store 更新但 mapStateToProps 中没有更新状态