使用vba登录

时间:2019-06-28 08:25:54

标签: excel vba

我想使用vba登录到站点。这使每个人都很容易,并非每个人都必须以这种方式知道密码。 但是,该站点最近进行了更新,现在更新了我使用的代码(从头到尾用胶带粘在一起)

`Sub apiweb()
Dim oHTML_Element As IHTMLElement
Dim sURL As String
On Error GoTo Err_Clear
sURL = "https://apiweb.biomerieux.com/login"
Set oBrowser = New InternetExplorer
oBrowser.Silent = True
oBrowser.timeout = 60
oBrowser.navigate sURL
oBrowser.Visible = True
Do
 ' Wait till the Browser is loaded
Loop Until oBrowser.readyState = READYSTATE_COMPLETE
Set HTMLDoc = oBrowser.document
HTMLDoc.all.login.Value = "xxxx"
HTMLDoc.all.Password.Value = "yyyy"
' oBrowser.Refresh ' Refresh If Needed
Err_Clear:
If Err <> 0 Then
Err.Clear
Resume Next
End If
End Sub`

因此,过去在Excel中按一个按钮可以正常工作,该站点将打开,一两秒钟后,将显示登录名和密码,而您只需按登录即可。现在,它只会打开该网站。

我尝试了一些操作,包括检查元素,但是我是新手,所以我真的不知道要寻找什么或做什么。因此,任何帮助(和解释)将不胜感激!

2 个答案:

答案 0 :(得分:0)

.example {
  padding: 5px;
  margin: 5px 0;
  border-radius: 2px;
  background-color: #afc8f0;
  text-align: center;
}

table thead tr th {
  position: sticky;
  top: 0px;
  background: #fff;
}

答案 1 :(得分:0)

这种方法怎么样?

Dim HTMLDoc As HTMLDocument
Dim oBrowser As InternetExplorer
Sub Login_2_Website()

Dim oHTML_Element As IHTMLElement
Dim sURL As String

On Error GoTo Err_Clear
sURL = "https://apiweb.biomerieux.com/login"
Set oBrowser = New InternetExplorer
oBrowser.Silent = True
oBrowser.timeout = 60
oBrowser.navigate sURL
oBrowser.Visible = True

Do
' Wait till the Browser is loaded
Loop Until oBrowser.readyState = READYSTATE_COMPLETE

Set HTMLDoc = oBrowser.Document

HTMLDoc.all.signupEmail.Value = "signupEmail"
HTMLDoc.all.signupPassword.Value = "*****"

For Each oHTML_Element In HTMLDoc.getElementsByTagName("signupSubmit")
If oHTML_Element.Type = "submit" Then oHTML_Element.Click: Exit For
Next

' oBrowser.Refresh ' Refresh If Needed
Err_Clear:
If Err <> 0 Then
Debug.Assert Err = 0
Err.Clear
Resume Next
End If
End Sub

enter image description here

enter image description here

顺便说一句,按F12键以查看浏览器后面的HTML。