【问题标题】:How can I fix this VBA code to click a form button on Internet Explorer?如何修复此 VBA 代码以单击 Internet Explorer 上的表单按钮?
【发布时间】:2016-03-09 21:24:49
【问题描述】:

我正在编写一个 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">

我有什么遗漏或需要更正吗?感谢您提供任何帮助,并提前感谢您的时间和帮助!

【问题讨论】:

  • 抱歉,这里是“登录”按钮的 HTML:“ "跨度>
  • 你能列出网址吗?
  • 运行代码时会发生什么?
  • @justkrys - 不幸的是,它是我公司的内部网站。
  • @TimWilliams - 它将打开 Internet Explorer,输入用户名和密码,然后停止。

标签: vba automation screen-scraping


【解决方案1】:

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

您显示的元素可以在没有父框架/iframe 的情况下使用input.button[value='Sign On'] 的 CSS 选择器组合进行选择。

input标签元素,类button,属性value,值为'Sign On'

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 2019-11-02
    • 2023-04-02
    相关资源
    最近更新 更多