Если использовать браузер IE - то недостаточно проверять только .readyState = 4, надо ещё .Busy проверять
Например, ждем готовности браузера IE, но не более 2 секунд:
Код |
---|
1 2 3 4 5 | TimeStamp = Timer
Do While (.Busy = True ) Or (.readyState <> 4)
DoEvents
If Abs(Timer - TimeStamp) >= 2 Then Exit Do
Loop
|
|
Если же работаем БЕЗ браузера (как у вас, компонент MSXML2.ServerXMLHTTP.6.0), то ничего вы не дождётесь
Ибо тут скрипты не отрабатывают, и, соответственно, ничего не догружают, — сколько сайт выдал данных, столько и выведется.
Вы решили совместить 2 принципиально разных кода (взяли рабочий код для MSXML2.ServerXMLHTTP.6.0, и засунули туда кусок кода от работы с браузером), — так не прокатит.
Возможно, проблема в прокси (который обрезает часть данных / выдаёт их не совсем корректно)