我对 VBA 比较陌生。我喜欢这个。我需要登录网页并浏览几个页面。我一直用这个*轻松调用登录信息,没有任何问题。我来到一个新网站,它拒绝接受我的意见。我不得不将我的代码修改为此**。此外,当我说 .elements("password") 它在 URL 行中输入密码。即使在我告诉它使用正确的 ID 之后。真正奇怪的是,如果您单步执行它,它将无法正常工作。它仅在您运行宏时才有效。
我所知道的是有一些 Javascript 验证程序,所以我不能只传递登录的值,我必须输入它。因此是 sendkeys。我不明白为什么它会找到用户 ID 框来放置登录信息,但是当它读到下一行说“把密码放在这里”时它会侧身。
我不太了解 VBA,无法提出正确的问题。这应该是一件容易的事。
*
With ieDoc
.getElementById("UsernameIDvar").Value = LoginVal
.getElementById("PasswordIDvar").Value = PassVal
.all("loginbuttonvar").Click
End With
**
ieDoc is Internetexplorer.Application.Documents
LoginVal and PassVal is a string pulled from an excel spreadsheet
With ieDoc.forms("lqLogin")
.elements("user").Click
SendKeys (LoginVal), True
.elements("password").Click
SendKeys (PassVal), True
.submit
End With
网站代码:
<form id="lqLogin" name="lqLogin" method="post" action="" >
<fieldset>
<legend>Enter Login Information</legend>
<table class="ctl_loginBox">
<tbody>
<tr>
<td><label for="User Id">User ID</label> <br>
<input type="text" value="" maxlength="50" size="28"
id="user" name="user" disabled="disabled"></td>
</tr>
<tr>
<td><label for="Password">Password</label><br>
<input type="password" value="" maxlength="50" size="28"
id="password" name="password"></td>
</tr>
<tr>
<td><div class="ctl_btnPos"><a href="#bmg_msgContainer"
class="ctl_btn ctl_btnLogin lqLoginBtn"><span>
Login </span></a></div></td>
</tr>
</tbody>
</table>
</fieldset>
</form>