如何在特定网站上执行(登录)按钮?



我在网上找到了这个VBA代码,例如它可以在Facebook上工作。

在 https://www.solarmanpv.com/portal/LoginPage.aspx 它不起作用。它会打开Internet Explorer,将凭据放在正确的位置,但不会按登录。

当我尝试运行时,VBA上显示错误" 424"。

Sub LoginViaBrowser()
Dim Dc_Usuario As String
Dim Dc_Senha As String
Dim Dc_URL As String
Dim objIE As New InternetExplorer 'Referencie "Microsoft Internet Controls"
objIE.Visible = True
Dc_Usuario = "user@email.com"
Dc_Senha = "pass"
Dc_URL = "https://www.solarmanpv.com/portal/LoginPage.aspx"
objIE.Navigate2 Dc_URL
Do Until objIE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
objIE.document.all("uNam").innertext = Dc_Usuario
objIE.document.all("uPwd").innertext = Dc_Senha
objIE.document.all("login").submit
End Sub

请尝试使用 F12 开发者工具检查 html 元素,然后,你会发现登录按钮的 id 是"登录",而不是"登录"。

尝试修改代码,如下所示:

Sub LoginViaBrowser()
Dim IE As Object
Dim Dc_Usuario As String
Dim Dc_Senha As String
Dim Dc_URL As String
Dim txtNam As Object, txtPwd As Object
Dc_Usuario = "user@email.com"
Dc_Senha = "pass"
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = True
.Navigate "https://www.solarmanpv.com/portal/LoginPage.aspx"
While IE.ReadyState <> 4
DoEvents
Wend
IE.Document.getElementById("uNam").Value = Dc_Usuario
IE.Document.getElementById("uPwd").Value = Dc_Senha
IE.Document.getElementById("Loginning").Click
End With
Set IE = Nothing
End Sub

您是否尝试过通过 id 调用点击?

IE.Document.getElementById("Loginning").Click  

最新更新