2016-05-04 1 views
1

Я получаю доступ к веб-сайту, который очень сложный, так что Msxml2.XMLHTTP не работает. Я пробовал следовать автоматизации.Проверьте, загружен ли требуемый текст в Internet explorer

'Working 
with createobject("internetexplorer.application") 
    .navigate url 
    Do While .ReadyState = 4: WScript.Sleep 1000: Loop 
    Do While .ReadyState <> 4: WScript.Sleep 1000: Loop 
    .document.body.createtextrange.select 
    .document.execCommand "copy" 
    strURL = .document.parentwindow.clipboardData.GetData("text")   
    .quit 
end with 
MsgBox strURL 

Но каждый раз, когда не загрузит полное содержание, как без ответа в Failproof Wait for IE to load

Если я хочу, чтобы загрузить веб-страницу до instr(strURL, "some text") is true, есть ли способ?

Я не понимаю, почему .ReadyState = 4 не загружает страницу. это из-за того, что javascript может быть не готов?

Я добавил еще один сон, как этот.

If Not instr(strtxt, "some Text") > 0 then 
     WScript.Sleep 10000 
    .document.body.createtextrange.select 
    .document.execCommand "copy" 
    strtxt = .document.parentwindow.clipboardData.GetData("text") 

Это дает результат большую часть времени в моей среде, но я не получаю идеи, как проверить, до тех пор пока нужный текст будет загружен.

ответ

0

Это идея.

keepSleeping = false 'is my requirement 
keepSleeping=instr(.document.body.innerhtml, "sometext") <> 0 
while keepSleeping 
    WScript.Sleep 20 
    keepSleeping=instr(.document.body.innerhtml, "sometext") 
wend 
Смежные вопросы