首页 > 解决方案 > 使用 VBA 脚本登录网站登录页面

问题描述

我正在尝试使用谷歌和本网站上的资源来帮助我,但我很难在登录页面上的输入框中输入用户名和密码。

该页面位于我们工作服务器的本地网络上。

登录页面的 HTML 代码:

<TD background=/frontend/images/greenback.gif width=302><INPUT maxLength=32 name=username> </TD>

<TD background=/frontend/images/greenback.gif width=302><INPUT maxLength=32 type=password value="" name=password> </TD>

到目前为止,我已经尝试过:

Sub Test()

On Error Resume Next

Dim sUrl As String: sUrl = "https://workplace.plus.net/index.html?"
Dim ie As Object

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

ie.navigate sUrl

Do While ie.readystate <> 4: DoEvents: Loop

ie.document.getElement.Name("username").Value = 1234

End Sub

我也试过:

ie.document.getElement.Name("username").Value = 1234
ie.document.getElement.Id("username").Value = 1234
ie.document.getElement.Class("username").Value = 1234
ie.document.getElement.Type("username").Value = 1234

ie.document.getElementByClassName("username").Value = 1234
ie.document.getElementById("username").Value = 1234
ie.document.getElementByName("username").Value = 1234
ie.document.getElementByType("username").Value = 1234

问题是我在谷歌上使用了相同的代码和 ID 按钮,它可以工作。有什么我没有考虑到的吗?

标签: javascriptexcelvbaautomation

解决方案


在这里,我使用的是 facebook 登录页面。您可以将任何其他链接放入登录,将 sUser 作为字符串,将 sPass 作为字符串。分配了您要输入的值。Application.Wait (Now + TimeValue("00:00:02")) 是加载页面和添加登录 ID 和密码之间的时间。另一方面将传递用户 id 和密码 IE.Document.all.Item("email").Value = sUser。请试试这个代码

Sub facebookPost()
Dim IE As Object
Dim sUser As String, sPass As String


sUser = "1234"
sPass = "1234"

Set IE = CreateObject("INTERNETEXPLORER.Application")

IE.Navigate ("www.Facebook.com")
IE.Visible = True

Do While IE.Busy: DoEvents: Loop

Application.Wait (Now + TimeValue("00:00:02"))

IE.Document.all.Item("email").Value = sUser
IE.Document.all.Item("pass").Value = sPass
IE.Document.all.Item("loginbutton").Click
End Sub

推荐阅读