→ soyoso: mybrowser.busy、application.wait…等試試 12/24 10:10
→ waiter337: 你太強了 200p附上 12/24 10:23
Do While MyBrowser.Busy Or _
MyBrowser.readyState <> 4
DoEvents
Loop
Do
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
※ 編輯: waiter337 (114.35.158.244), 12/24/2016 10:28:28
另外請教一下
如果有跳出js的alert視窗
按下確定 空白 或esc 就可以跳離
我試了很多方法
但沒辦法成功的選取警告視窗
是該js網頁本身的alert
我用sendkey 的alt+tab兩下想回頭選
但用巨集還是會卡住
目前嘗試過這些 但無解
該網頁我用
Set MyBrowser = New InternetExplorer
'--------------以下為死馬當活馬醫到處亂塞的巨集
MyBrowser.Silent = True
Application.SendKeys ("%{TAB}")
DoEvents
Application.SendKeys ("%{TAB}")
DoEvents
Application.SendKeys ("enter")
Application.SendKeys ("ESC")
DoEvents
HTMLDoc.Click
但沒有一個成功 求S大解惑一下
※ 編輯: waiter337 (1.175.32.129), 12/24/2016 15:20:40
還有這些
' lngHwnd = FindWindow(vbNullString, "Windows Internet Explorer")
' lngParent = GetParent(lngHwnd)
' If lngHwnd > 0 And lngParent = lngFrmHwnd Then
' SetForegroundWindow lngHwnd
' SendKeys "~"
' ' lngHwnd = 0 '<----- 拿掉這個看看.
' End If
' pDisp.document.parentWindow.execScript "window.alert=null;"
' pDisp.document.parentWindow.execScript "window.confirm=null;"
' pDisp.document.parentWindow.execScript "window.showModalDialog=null;"
' pDisp.document.parentWindow.execScript "window.open=null;"
※ 編輯: waiter337 (1.175.32.129), 12/24/2016 15:21:10
但我也在懷疑
是不是警告視窗跳的速度比較慢
所以這些按鍵其實 是被先用掉了
※ 編輯: waiter337 (1.175.32.129), 12/24/2016 15:22:43
Do While MyBrowser.busy Or _
MyBrowser.readyState <> 4
' DoEvents
MyBrowser.Silent = True
' MyHTML_Element.Select
' MyHTML_Element.Click
' MyBrowser.Select
' MyBrowser.Click
Application.SendKeys ("%{TAB}")
DoEvents
Application.SendKeys ("%{TAB}")
DoEvents
' Application.SendKeys ("enter")
Application.SendKeys ("ESC")
' DoEvents
' HTMLDoc.Click
' MyHTML_Element.Select
' MyHTML_Element.Click
' MyBrowser.Select
' MyBrowser.Click
Loop
Do
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
' SendKeys "~"
目前狀況
我被我公司的伺服器給鎖了(要等30分鐘才會解開)
剛剛按下去按鈕 我崩潰了
一秒鐘連續登入錯誤四次,剛大概連續登入上百次了....
然後就GG
但不知道是不是有稍微成功了
目前沒被我註掉的 可能就有機會
因為好像跟我想的一樣
我在警告還沒跳出來之前就已經sendkey了
所以要在警告跳出來的迴圈內sendkey可能才有效果
但如果sendkey enter或"~"空白鍵 就太危險了
所以半個小時後我試試看esc
※ 編輯: waiter337 (1.175.32.129), 12/24/2016 15:46:01
這篇我有注意到
不過我還沒辦法領悟這篇的關鍵
看似好像要跳到api設定
不過目前問題還是沒找到施力點
※ 編輯: waiter337 (114.35.158.244), 12/25/2016 03:45:48
→ Linkey: application.wait(now()+timeserial(hh:mm:ss)) 12/25 11:13
→ Linkey: 加在sendkeys前面,應該只需要送出Enter 不需要Tab 12/25 11:15
→ waiter337: 我在試試 01/06 07:11