請問如何以vba登入網頁後,點選網頁連結按鈕(共兩層),但因網頁為公司內網無法提供,還請網大幫忙看看是否有解,謝謝。
(目前登入網頁已學會,但點選按鈕測試一直失敗)
(公司電腦win7、IE8(限制升級))
Dim p As Object
Set myIE = CreateObject("InternetExplorer.Application")
With myIE
.Visible = True
.Navigate "公司網址"
Do While Busy Or .ReadyState <> 4: DoEvents: Loop
Set p = .Document.all.tags("INPUT")
.Document.all.txtUsername.innerText = "xxxxxx" '登入帳號
.Document.all.txtPassword.innerText = "xxxxxx" '登入密碼
.Document.all.ImageButton2.Click '登入
Do While Busy Or .ReadyState <> 4: DoEvents: Loop
點選第一層按鈕
點選第二層按鈕
End With
第一層按鈕
第二層按鈕
文字 - 來電內容記錄(新)
我先用tag去挑,然後再去檢查innertext。
如果tag很多的話,效能會比較差。
Dim p As Object, div as object, a as object
Set myIE = CreateObject("InternetExplorer.Application")
With myIE
.Visible = True
.Navigate "公司網址"
Do While Busy Or .ReadyState <> 4: DoEvents: Loop
Set p = .Document.all.tags("INPUT")
.Document.all.txtUsername.innerText = "xxxxxx" '登入帳號
.Document.all.txtPassword.innerText = "xxxxxx" '登入密碼
.Document.all.ImageButton2.Click '登入
Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
' 點選第一層按鈕
for div in .Document.getelementsbytagname("div")
if div.innertext = "處理中心" then
div.click
exit for
end if
next div
' 點選第二層按鈕
for a in .Document.getelementsbytagname("a")
if a.innertext = "來電內容記錄(新)" then
a.click
exit for
end if
next a
End With
比較大的問題應該是你要如何Document到這2個地方
Document之後
可以用FOR或是直接用
InvokeMember("click")
模擬點擊
另外模擬點擊無法直接Document取CLASS
之前在寫的時候一直無法取CLASS來做點擊