你好親愛的VBA同事:)
Sub login()
'test
Const URL$ = "https://kwm.kromi.de/cgi-bin/kwm?HTML=frontend/login.htm"
Dim UserName As String, Password As String, LoginData As Worksheet
Set LoginData = ThisWorkbook.Worksheets("Sheet1")
UserName = LoginData.Cells(1, "B").Value
Password = LoginData.Cells(2, "B").Value
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = False
.Navigate URL
ieBusy IE
.Visible = True
Dim oLogin As Object, oPassword As Object
Set oLogin = .document.getElementsByName("VS_LOGIN")(0)
Set oPassword = .document.getElementsByName("VS_PASSWORD")(0)
oLogin.Value = UserName
oPassword.Value = Password
.document.forms(0).submit
ieBusy IE
Stop
'.document.getElementsByTagName("a")(2).href
'.document.getElementsByClassName("link3").Click
.Navigate2 ""
ieBusy IE
Stop
End With
'''
End Sub
Sub ieBusy(IE As Object)
Do While IE.Busy Or IE.readyState < 4
DoEvents
Loop
End Sub
第一個任務是作業,宏登錄網站。我需要更深入地點擊一些東西,但網路結構對我的小腦袋來說太多了我正在網站上尋找一些例子,但沒有任何效果。我在下面顯示了網站的代碼。我需要點擊按鈕“statystyka”。
/html/body/div[1]/div[1]/a[2]- Xpath 地址 [鏈接圖片] https://ibb.co/2Pgx2tn
請你給我一些幫助:)
編輯:我試過用這樣的東西:
'.document.getElementsByTagName("a")(2).href但這不是很好的思考方式
uj5u.com熱心網友回復:
您需要移動到適當的框架,在我使用時添加等待 .Navigate 到框架src,然后您可以通過onclick屬性的子字串定位:
ie.navigate ie.document.querySelector("[name=Navigator]").src
ieBusy ie
ie.document.querySelector("[onclick*=statistic]").click
uj5u.com熱心網友回復:
如果你想通過標簽導航你需要如下設定框架
Dim doc As HTMLDocument
Dim doc2 As HTMLDocument
Dim lnk As HTMLLinkElement
Set doc = IE.document
Set doc2 = doc.frames("Navigator").document
Set lnk = doc2.getElementsByTagName("A")(1)
lnk.Click
@QHarr @Raymond Wu :) 感謝您嘗試幫助,也許這將是其他人的解決方案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/418341.html
標籤:
上一篇:跳過登錄頁面,如果已經登錄
