为什么我的浏览器表示拒绝访问文档元素

时间:2015-12-10 17:26:06

标签: dom iframe com autohotkey

我正在运行以下Autohotkey代码,该代码在美好的日子里一直有效,大部分时间都在糟糕的日子里运行(慢速的互联网和/或计算机)。

079: Sleep,500
081: ie_win.document.all.lbContentIframe.contentWindow.document.all.btnOkId.click()  
082: Sleep,500
083: While,ie_win.document.all.lbContentIframe.contentWindow.document.readyState <> "complete"
084: Sleep,100

我得到的错误是第83行

描述:访问被拒绝。

HelpFile:C:\ Windows \ System32 \ mshtml.hlp

具体来说:文件

是否因为尚未加载lbContentIframe Iframe文档?以前我试过

while !ie_win.document.getelementbyid("lbContentIframe") sleep, 100

我没有因为该行而收到任何错误。每次Iframe可能刷新之前我是否需要这样做才能检查它是否通过readyState属性加载完成?

此外,一旦我收到上述错误,无论我尝试多少次,它都不会再次开始工作。这几乎就像ie_win句柄被破坏了一样。

2 个答案:

答案 0 :(得分:1)

尝试

    While ie_win.readyState!=4 || ie_win.document.readyState!="complete" || ie_win.busy

答案 1 :(得分:1)

我发现在几个交互式网页上,我必须根据我知道存在的值编写自定义等待函数,并在整个页面完全加载时填充。

尝试这样的事情:

ComObjError(false)
While (value == "") {
    value := ie_win.document.getElementsByClassname("YourElement")[1].innerText
    Sleep 100
    }
ComObjError(true)