如何修复此VBA代码以单击Internet Explorer上的表单按钮?

时间:2016-03-09 21:24:49

标签: vba automation screen-scraping

我正在编写VBA代码以打开Internet Explorer,输入用户名和密码,然后单击“登录”按钮。

这是我到目前为止的代码:

Sub Example()

    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True

    IE.navigate "webexample.com"

    Do While IE.busy: DoEvents: Loop
    Do While IE.READYSTATE <> 4: DoEvents: Loop
    Do While IE.Document.READYSTATE <> "complete": DoEvents: Loop

    IE.Document.all.Item("userID").Value = "username"
    IE.Document.all.Item("password").Value = "password"
    IE.Document.forms(0).submit ("Sign On")

End Sub

以下是“登录”按钮的HTML:

<input name="action" class="button" type="SUBMIT" value="Sign On">

有什么东西我缺少或需要纠正吗?感谢任何帮助,我提前感谢您的时间和帮助!

1 个答案:

答案 0 :(得分:0)

提供更多的HTML将有所帮助,因为可能会有父框架/ iframe可以处理。

可以使用input.button[value='Sign On']的CSS选择器组合来选择显示的元素,而无需父框架/ iframe。

这是input标签元素,其类别为button,属性value的值为'Sign On'

ie.document.querySelector("input.button[value='Sign On']").Click