VBA单击没有名称的HTML按钮?

时间:2018-11-27 20:13:23

标签: html excel vba web-scraping

我正在尝试使用VBA在网站上单击此登录按钮,这是该按钮的HTML:

<input type="submit" value="Login" onclick="submitForm();">

我已经知道要输入用户名和密码了,因为这些字段都有名称,但是我无法让它单击此按钮,因为它没有名称。我一直在搜索,或者我不知道我在寻找什么,或者这一定不是一个普遍的问题。这是我最近的尝试:

objIE.document.getElementsByName("Login")(0).Click

谢谢!

1 个答案:

答案 0 :(得分:3)

如您所说:在HTML中,您显示的元素没有name属性。您可以使用attribute = value CSS选择器来定位存在的属性:

objIE.document.querySelector("[onclick='submitForm();']").click

相同的想法意味着

objIE.document.querySelector("[value=Login]").click

甚至

objIE.document.querySelector("[type=submit]").click

最后,您可以直接通过

提交表单
objIE.document.getElementsByTagName("form")(0).submit

如果在属性选择器上可以匹配多个元素,则使用.querySelectorAll检索所有元素,并索引返回的nodeList以获取正确的元素,例如。

objIE.document.querySelectorAll("[type=submit]").item(1).click

上面的1是第二个匹配项。 2将是第三个,等等。