vba控制網頁 browser碰上alert停住了
- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
回復 1# singo1232001
提供另一種繞過 alert 視窗的方法
Sub test()
Dim x
Dim oie As Object: Set oie = CreateObject("internetexplorer.application")
With oie
.Visible = True
.Navigate "https://login.104.com.tw/login.cfm"
Do While .readystate <> 4 Or .busy: DoEvents: Loop
.Document.getelementByid("id_name").Value = "aaa"
For Each x In .Document.getElementsByTagName("input")
If x.Type = "submit" And x.Value = "會員登入" Then
With .Document.parentWindow
.execScript "window.nativeAlert = window.alert" '儲存原始的alert
.execScript "window.alert = function() {}" '覆寫alert function
x.Click
.execScript "window.alert = window.nativeAlert" '還原原始的alert
End With
Exit For
End If
Next
Do While .readystate <> 4 Or .busy: DoEvents: Loop
.Quit
End With
End Sub |
|
|
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
|
|
|
|
|
- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
回復 7# PKKO
想請教一:這個語法適用於所有網站的單一確認視窗嗎?
未必,看網站是用哪種方法彈出視窗,當然你也可能看不出來他是用哪種方法
主要是 alert 視窗會阻擋你的程式下一步執行,又蠻常見的,
這邊只是猜測它用 alert 方法彈出視窗,然後
對你自己建的 ie 元件,暫時性地蓋過原本的alert動作而已
想請降二:若是有是或否的視窗呢?以及選擇檔案的視窗呢?有辦法處理嗎
有是或否的視窗 推測是用 confirm 來產生的
http://www.w3schools.com/js/js_popup.asp
可以用類似方法泡製,但要回傳 true 或 false
選擇檔案的視窗,通常是要上傳檔案吧
這我不熟,網頁擷取很少做到上傳檔案的 |
|
|
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
|
|
|
|
|