我正在寻找一种方式来关闭Javascript弹出/消息框(即不是新的IE窗口,但是一个脚本警报()),加载网页时加载。关闭JavaScript警报使用VBA自动化
我目前有代码将数据加载到搜索表单中,运行搜索,从结果中检索所需信息,退出搜索,然后继续执行列表中的下一项。在某些情况下,搜索结果中缺少一些重要信息。发生这种情况时,页面上的JavaScript会在页面加载时弹出消息,让用户知道信息丢失。通过自动化,代码在继续之前暂停(等待)该框清除,并且用户在此之前必须点击OK按钮。 (我无法直接更改页面的源脚本,因为这超出了我在工作中的责任范围,另外,保留此功能对于一般用途来说更为重要;它只能用于有利于我创建这个小使用功能。)
尽管我无法更改源脚本,但我发现example关于如何通过更改加载的脚本来防止显示弹出/警报。然而,它涉及到一个已经加载的页面,并不真正为我工作(据我所知)。
IE.Document.getElementById("clearRelItems").removeAttribute "onClick"
IE.Document.getElementById("clearRelItems").setAttribute "onClick", "return true;"
是否有可能使用这种方法来做出改变前的页面完全加载?即,这可以用来以某种方式在页面加载时绕过/绕过函数调用?
我知道关于sendkeys,但我宁愿尽可能避免这个选项(如果没有其他选择,我可能会最终使用此选项)。该功能旨在由用户发起,然后在后台运行,因为它需要一些时间才能完成。
我已经考虑过抓住@Kyle建议的XML,但我不相信我足够熟练地使这种方法起作用。
我还能如何解决警报?有没有办法实际激活警报上的确定按钮?可以通过其他方式绕过警告/加载页面吗?
这是一个Javascript的通知();消息框?或者一个html元素? – Cilvic 2012-02-28 20:47:42
这是一个alert()框。 – Gaffi 2012-02-28 20:48:38