VBA自动化登录:如何点击无ID的登录提交按钮?
解决VBA自动化登录时form.submit无效的问题
直接调用表单的.submit方法没触发登录,大概率是因为页面给登录按钮绑定了额外的JavaScript事件,而form.submit不会触发这些绑定事件。你可以直接定位到登录按钮元素,模拟点击操作来触发登录,下面给两种可行的实现方式:
方法一:通过按钮的name属性定位点击
利用按钮的name="continuer"属性直接获取元素,调用Click方法:
Set objIEDoc = objIEApp.Document With objIEDoc.forms(0) .Text.Value = "xxxxxxxx" .Password.Value = "xxxx" ' 定位name为continuer的提交按钮并点击 .elements("continuer").Click End With
方法二:遍历input元素定位目标按钮
如果方法一失效,可以通过遍历页面的input元素,匹配按钮的type="submit"和value="Log in"属性来定位:
Set objIEDoc = objIEApp.Document ' 先填充用户名和密码 With objIEDoc.forms(0) .Text.Value = "xxxxxxxx" .Password.Value = "xxxx" End With ' 遍历所有input元素找到登录按钮 Dim btn As Object For Each btn In objIEDoc.getElementsByTagName("input") If btn.Type = "submit" And btn.Value = "Log in" Then btn.Click Exit For End If Next btn
这两种方式都是模拟真实点击按钮的操作,能触发按钮绑定的所有事件,比直接调用表单submit更可靠。
内容的提问来源于stack exchange,提问作者Yixue Zhang
相关产品推荐
相关产品推荐

