1

我对 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>&nbsp;&nbsp;
      Login&nbsp;&nbsp;</span></a></div></td>
    </tr>
   </tbody>
  </table>
 </fieldset>
</form>
4

0 回答 0