excel - VBA登录无法点击按钮
问题描述
一切正常,直到我尝试单击按钮。该按钮没有名称,所以我尝试按类获取它。有什么建议么?
按钮:
<input type="button" value="Sign On" class="ButtonSm" onclick="submitForm();">
我的代码:
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = 1
IE.navigate "www.xxx.com"
Do While (IE.Busy)
Application.Wait DateAdd("s", 1, Now)
Loop
With IE.Document
.getElementByID("USER").Value = UserName
.getElementByID("PASSWORD").Value = Password
.getElementByClassName("ButtonSm").Click
End With
End Sub
解决方案
CSS 选择器:
尝试使用 CSS 选择器来定位元素。选择器input[value='Sign On'
针对页面上找到的第一个元素,该元素带有input
标签并具有value
值为 的属性'Sign On'
。
使用 VBA 应用选择器:
通过 的querySelector
方法应用document
。
IE.document.querySelector("input[value='Sign On']").Click
你也可以试试
IE.document.querySelector("input[value='Sign On']").FireEvent "onclick"
其他观察:
没有足够的 HTML 或 URL 来提供进一步的建议。您可以直接使用以下方式提交表单:
IE.document.forms(formIndexGoesHere).Submit
推荐阅读
- xml - 将 XML 转换为 CSV 不起作用
- android - 向 APNs 发送 Django 推送通知会出现协议错误
- php - 如何使用邮件功能使用 php 表单脚本从我的网站电子邮件向 gmail 发送邮件?
- css - 计算包含元素的宽度时包含边框
- laravel - 如何在 AWS Elastic Beanstalk 上设置和使用 Laravel 调度?
- android - 来自 GetCurrentMillis 的 Android Studio 日期比较
- javascript - 无法在 HTML 中加载 XMLHttpRequest 视频
- java - Weblogic/Java 未在与 IIS 的相互 SSL 集成中发送客户端证书
- azure - 在 Azure 中发布的 webapi 属于 PaaS 和 IaaS?
- asp.net - 找到 2 个具有非唯一 ID #__VIEWSTATE 的元素