Excel VBA单击html div类中的项
我是一个新手,第一次使用Excel VBA实现web自动化。 到目前为止,我已经取得了一些进展,但我一直在尝试点击网站上看起来像按钮的东西。 如果你能帮助我,请告诉我,我很感激。非常感谢。 特定元素位于以下html代码中的a标记内:Excel VBA单击html div类中的项,excel,vba,webautomation,Excel,Vba,Webautomation,我是一个新手,第一次使用Excel VBA实现web自动化。 到目前为止,我已经取得了一些进展,但我一直在尝试点击网站上看起来像按钮的东西。 如果你能帮助我,请告诉我,我很感激。非常感谢。 特定元素位于以下html代码中的a标记内: <div class="sh-c-btn-group"> <input name="pf.ok" type="hidden" value=""> <input name="pf.cancel" type="hidden"
<div class="sh-c-btn-group">
<input name="pf.ok" type="hidden" value="">
<input name="pf.cancel" type="hidden" value="">
<a title="Sign In" class="sh-c-btn sh-c-btn--primary" onclick="postOk();">Sign In</a>
</div>
登录
此代码循环直到加载页面:
做
多芬特
循环直到objIE.readystate=4此代码循环直到加载页面: 做 多芬特
循环到objIE.readystate=4Jenn&Jumpgroup,非常感谢您的帮助:)通过获取标题和类名,成功地完成了以下循环:
Dim HTMLas As MSHTML.IHTMLElementCollection
Dim HTMLa As MSHTML.IHTMLElement
Set HTMLas = HTMLDoc.getElementsByTagName("a")
For Each HTMLa In HTMLas
If HTMLa.getAttribute("title") = "Sign In" And HTMLa.getAttribute("classname") = "sh-c-btn sh-c-btn--primary" Then
HTMLa.Click
Exit For
End If
Next HTMLa
Jenn&Jumpgroup,非常感谢您的帮助:)通过获得标题和类名,通过以下循环实现了这一点:
Dim HTMLas As MSHTML.IHTMLElementCollection
Dim HTMLa As MSHTML.IHTMLElement
Set HTMLas = HTMLDoc.getElementsByTagName("a")
For Each HTMLa In HTMLas
If HTMLa.getAttribute("title") = "Sign In" And HTMLa.getAttribute("classname") = "sh-c-btn sh-c-btn--primary" Then
HTMLa.Click
Exit For
End If
Next HTMLa
您可以使用querySelector方法避免循环
HTMLDoc.querySelector("a[title='Sign In']").click
您可以使用querySelector方法避免循环
HTMLDoc.querySelector("a[title='Sign In']").click
您尝试过getElementsByName(“pf.ok”)(1)了吗?单击?我尝试过getElementsByName(“pf.ok”)(0)。单击但什么都没有发生——索引(1)抛出错误——还尝试过getElementsByClassName(“sh-c-btn sh-c-btn-primary”)。单击未成功只是绑定到onclick事件。尝试使用div.firevent“onclick”。这是一个很好的参考。您尝试过getElementsByName(“pf.ok”)(1)了吗?单击?我尝试过getElementsByName(“pf.ok”)(0)。单击但什么都没有发生——索引(1)抛出错误——还尝试过getElementsByClassName(“sh-c-btn sh-c-btn-primary”)。单击未成功只是绑定到onclick事件。尝试使用div.firevent“onclick”。这是一个很好的参考。我一直在循环,直到页面完全加载,并且能够在页面完全加载后填写多个表单。但不知何故,我无法点击这一项。我一直在循环,直到页面完全加载,并能够在页面完全加载后填写多个表单。但不知何故,这一项无法点击。