|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
Здравствуйте! Заметил одну странную вещь при написании парсинга на примере Google.com. Есть макрос который сначала выгружает домашнюю страницу, потом вводит значение в поле ввода для поиска и нажимает на кнопку поиска. VBA Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Почему так происходит? Как правильно написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 00:54 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
ferzmikk, попробуйте пошагово: Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 09:00 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
The_Pristпопробуйте пошагово:По шагово с помощью F8 - работает. А вот если запускать с помощью F5 - также прерывается. Может быть объект IE.document надо как то активизировать как Cells(1,1).Activate или Cells(1,1).Select ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 15:19 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
надо написать код , который после открытия документа дождётся события onload и уже потом рабоать с DOM открытого документа html ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 15:29 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
ferzmikkПо шагово с помощью F8 - работаетя написал код, который надо было попробовать. Пошагово имелось ввиду пошаговое назначение ссылок на объекты документа, а не отладку. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 15:40 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
The_PristПошагово имелось ввиду пошаговое назначение ссылок на объекты документа. VBA Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 20:26 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
Значит в этот момент документ еще не готов, а когда пошагово или отладчик - успевает загрузиться. Можно, конечно, просто сделать паузу или зациклить с DoEvents пока ошибка не прекратится. Но правильнее, как сказал Костя. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 20:43 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
Но в коде же есть Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 20:47 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
В общем, разобрался. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
VBA Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Но возникает вопросы. 1. После строки HTMLButton.Click по логике нужно дождаться окончания обновления страницы. Правильно ли будет, если добавить строки Do Until IE.READYSTATE = 4: DoEvents: Loop или тут по другому надо писать? 2. Когда заходим на главную страницу, то нужна проверка If GetURLstatus(URL) = 200 Then , если потом есть строки Do Until IE.READYSTATE = 4: DoEvents: Loop ? 3. Даже если код работает, то лучше оставлять как пошаговое назначение ссылок на объекты документа, то есть вариант 2? 4. Есть еще что-то чего не учитывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 23:26 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
ferzmikkВ общем, разобрался. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
пропустил ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2019, 23:44 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
Еще странную картину увидел. Также на странице водится значение для поиска и нажимается кнопка, далее проходит строку Do Until IE.READYSTATE = 4: DoEvents: Loop , но в точке останова в объекте IE.document.getElementsByClassName("results-frame")(0).Children(0).Children(0).Children(0).Children отсутствуют элементы. Но если в окне Watches добавить переменную любую, то у объекта IE.document.getElementsByClassName("results-frame")(0).Children(0).Children(0).Children(0).Children появляются элементы. Почему так, как правильно написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 00:10 |
|
Method 'Document' of object 'IWebBrouser2' failed
|
|||
---|---|---|---|
#18+
ferzmikkЕще странную картину увидел. Также на странице водится значение для поиска и нажимается кнопка, далее проходит строку Do Until IE.READYSTATE = 4: DoEvents: Loop Получается страница все равно не до конца загружается или здесь что то другое влияет? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 19:40 |
|
|
start [/forum/topic.php?fid=61&msg=39870891&tid=2171985]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 297ms |
total: | 429ms |
0 / 0 |