![]() |
|
v8: исключительная ситуация 0x800a01b6 | ☑ | ||
---|---|---|---|---|
0
Ametrin
16.07.14
✎
17:35
|
Добрый день.
Мне необходимо было вытащить информацию из мета-тегов главной страницы заданного сайта (адрес сайта вводится вручную пользователем). Для этого я использую COMобъект "InternetExplorer.Application", с помощью него загружаю страницу и ищу все необходимые теги. Вот кусок кода: oIE = Новый COMОбъект("InternetExplorer.Application"); СтрокаКлючевыхСлов = ""; oIE.Visible = Ложь; oIE.Navigate(СсылкаНаСайт); Пока oIE.readyState() < 4 Цикл КонецЦикла; doc1=oIE.Document; obj=doc.getElementsByTagName("meta"); //здесь возникает исключение ... oIE.Quit(); При повторном выполнении этого кода, но уже для другого сайта, возникает исключение 0x800a01b6, причем возникает во время выполнения строки, помеченной коментарием. При этом если ввести адрес первого используемого сайта, то все проходит нормально. В чем может быть проблема? |
|||
1
Wobland
16.07.14
✎
17:52
|
разумеется в неиспользовании поиска по номеру ошибки. ты же ещё не использовал поиск по номеру ошибки? поиск по номеру ошибки - это чит, конечно, но уж лучше так, чем самому пытаться понять
|
|||
2
Ametrin
16.07.14
✎
18:00
|
(1) искал. (0x800A01B6) Object doesn't support this property or method
Только мне не понятно, почему метод то есть, то его нет. |
|||
3
YF
16.07.14
✎
18:01
|
Что такое "doc"?
|
|||
4
Wobland
16.07.14
✎
18:04
|
(2) а почему бы это не рассказать в (0)?
|
|||
5
Ametrin
16.07.14
✎
18:04
|
(3) там doc1. Случайно затер единичку.
|
|||
6
Ametrin
16.07.14
✎
18:05
|
(4) протупил(
|
|||
7
Fram
16.07.14
✎
18:10
|
(2) Может потому что документ то есть то нет на момент вызова процедуры?
Вот это oIE.Navigate(СсылкаНаСайт); Пока oIE.readyState() < 4 Цикл КонецЦикла; нифига не работает так как ты думаешь. Сам на этом попался |
|||
8
Fram
16.07.14
✎
18:12
|
+(7) Код фигачит дальше, даже если страница еще не загружена.
|
|||
9
Fram
16.07.14
✎
18:15
|
Решения 2:
1. Через попытку в цикле вызвать getElementsByTagName с таймером 2. Поле HTML документа и событие ДокументСформирован |
|||
10
Ametrin
16.07.14
✎
18:16
|
(7) но он ведь из цикла выходит только когда загрузится (readyState = 4). Да и первая введенная ссылка всегда верно обрабатывается, даже если ее вводить потом после других попыток.
|
|||
11
Fram
16.07.14
✎
18:17
|
(10) Напиши об этом Гейтсу в америку или Нуралиеву
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |