簡體   English   中英

從VBA清除Javascript消息框

[英]Clear Javascript Message Box from VBA

在控制網站(使用VBA)並嘗試刪除表中的所有選定項時,我看到一個Javascript彈出窗口,詢問我是否真的要刪除所有這些項(“確定”或“取消”)。 當這個彈出窗口時,我的vba代碼停止,並且除非有人點擊按鈕,否則將不會執行任何其他操作。

我對此進行了相當多的研究,似乎從理論上講可以更改HTML按鈕的onClick事件,但是到目前為止,我還無法使其正常工作。 以下是按鈕的HTML代碼,后續的Javascript代碼,然后是我的VBA代碼。

HTML按鈕

 <p>Delete:&nbsp;<input type="button" name="button_Delete" value="Delete" onclick="doDelete('c');">&nbsp;<span class="note">Deletes all selected charts.</span></p> <p>Move to:&nbsp;<select id="select_Lists" name="select_Lists"> 

HTML按鈕后的Javascript

 <a href="javascript:doDeleteList('169', 'C');">Delete List</a> | 

VBA代碼刪除從HTML表中選擇的所有內容

Dim ieDelete as HTMLInputButtonElement
SetieDelete = IE.Document.getElementsByName("button_Delte")(0)
Sleep(500)
ieDelete.removeAttribute("onClick")
Sleep(500)
ieDelete.setAttribute "onClick", "return true;"
Sleep(500)
ieDelete.Click

按原樣運行VBA時,它將繼續顯示Javascript消息框。 我嘗試添加ieDelete.setAttribute“ onClick”,“” ,但最終刪除了整個事件,此后我無能為力。

並且...作為記錄,我還看到了描述另一種選擇的帖子,但我不知道如何在我的場景中使用它。 通過使用VBA自動化InternetExplorer來響應網站消息框

在此先感謝您的協助。

您可能會修改確認對話框本身:在調用ieDelete.Click之前,使用以下VBA代碼覆蓋內置的javascript confirm函數。

IE.Document.parentWindow.execScript "confirm = function() { return true; }"

(在調用ieDelete.Click之前將其ieDelete.Click

每當請求確認對話框時,這將導致瀏覽器自動“單擊”“確定”。

PS:此答案假定以下內容:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM