InternetExplorer - 从 IE.Document 中删除特定元素

InternetExplorer - delete specific element from IE.Document

我正在使用 VBA 自动从结构化网页中提取报告。

我有以下代码块,它更改数组中每个元素的下拉元素

With IE
For Each itemName In itemNames()
i = i + 1
Module2.check_and_wait_for_item ("cboDistrict")
Set Dropdown = .document.getElementsByName("cboDistrict")(0)
Dropdown.Value = itemValues(i)
Dropdown.FireEvent ("onchange")



check_and_wait_for_item ("cmdRptPreview")
Set btnPreview = .document.getElementsByName("cmdRptPreview")(0)
btnPreview.Click

check_and_wait_for_item ("BtnExport")
Set HTMLDoc = .document
write_file_to_dir HTMLDoc, "C:\Users\user\Documents\____thing\", itemName & ".html"
.GoBack

Next itemName
End With

问题出现在 IE.GoBack。我有一个函数可以在页面上不存在特定元素时通过循环检查 JavaScript 是否已完成执行。 "Going back" 将元素放回页面,即使 JavaScript 事件尚未完成 运行。

这就是为什么我要在函数检查 JavaScript 事件是否已完成之前删除旧的 "cmdRptPreview" 元素 运行。

有办法吗?感谢帮助。

解决方案是删除包含正在被 JavaScript 服务员函数检查的元素的节点。 .GoBack 之后:

check_and_wait_for_item ("cmdRptPreview")
.document.getElementsByName("cmdRptPreview")(0).ParentNode.RemoveChild .document.getElementsByName("cmdRptPreview")(0)