使用 VBA 填写 IE 表单的身份验证失败
Fail authentication using VBA to fill IE form
我在使用 IE 登录网站时遇到问题。
我的代码(见末尾)毫无问题地填写了 login/password 字段,然后单击提交按钮。但随后我收到错误 "Login failed"(没有更多详细信息)。
奇怪的是,如果我手动 copy/paste 输入密码,然后单击那个该死的按钮,登录就会成功。
我知道该网站不允许自动填充功能(HTML 中的 AutoComplete="OFF")。能有关系吗?您认为有解决方法吗?
如果您需要任何可能有用的信息,请告诉我。
谢谢!
保罗
Set HTMLdoc = IE.Document.frames(1).Document
HTMLdoc.getElementById("txtUsername").Value = "XXXXX"
HTMLdoc.getElementById("txtPassword").Value = "YYYYY"
HTMLdoc.all("btnLogin").Click
找到问题了!我猜该网站正在跟踪密码完成,以确保它是一个正在尝试登录的人。无论如何,即使它不太干净,它也适用于 sendKeys:
' Login
Set HTMLdoc = IE.Document.frames(1).Document
HTMLdoc.getElementById("txtUsername").Select
Application.Wait Now + TimeValue("00:00:02")
SendKeys "5536SP01"
Application.Wait Now + TimeValue("00:00:02")
HTMLdoc.getElementById("txtPassword").Select
Application.Wait Now + TimeValue("00:00:02")
SendKeys "Chartered123"
Application.Wait Now + TimeValue("00:00:02")
HTMLdoc.all("btnLogin").Click
我在使用 IE 登录网站时遇到问题。
我的代码(见末尾)毫无问题地填写了 login/password 字段,然后单击提交按钮。但随后我收到错误 "Login failed"(没有更多详细信息)。
奇怪的是,如果我手动 copy/paste 输入密码,然后单击那个该死的按钮,登录就会成功。
我知道该网站不允许自动填充功能(HTML 中的 AutoComplete="OFF")。能有关系吗?您认为有解决方法吗?
如果您需要任何可能有用的信息,请告诉我。
谢谢! 保罗
Set HTMLdoc = IE.Document.frames(1).Document
HTMLdoc.getElementById("txtUsername").Value = "XXXXX"
HTMLdoc.getElementById("txtPassword").Value = "YYYYY"
HTMLdoc.all("btnLogin").Click
找到问题了!我猜该网站正在跟踪密码完成,以确保它是一个正在尝试登录的人。无论如何,即使它不太干净,它也适用于 sendKeys:
' Login
Set HTMLdoc = IE.Document.frames(1).Document
HTMLdoc.getElementById("txtUsername").Select
Application.Wait Now + TimeValue("00:00:02")
SendKeys "5536SP01"
Application.Wait Now + TimeValue("00:00:02")
HTMLdoc.getElementById("txtPassword").Select
Application.Wait Now + TimeValue("00:00:02")
SendKeys "Chartered123"
Application.Wait Now + TimeValue("00:00:02")
HTMLdoc.all("btnLogin").Click