Alexey_A
Новичок
- Сообщения
- 8
- Репутация
- 0
Здравствуйте!
Имею программу, которая активно работает с одним сайтом через браузер. Всё через IE.au3. С недавних пор на сайте что-то поменяли, и программа стала вылетать с ошибкой. Отловил два своих вызова, на которых программа вылетала:
Ошибка была "The requested action with this object has failed". Переписал все места, где были эти функции, использовав другие функции, но через некоторое время вылетела где-то ещё. На сей раз
Причём ошибки "приходящие", то есть не всякий вызов этих функций приводи к ошибке.
Насколько я понял, сайт иногда подвисает, и браузер не отвечает вовсе, соответствующие методы внутри IE.au3 не могут вернуть значение, и функция думает, что объекта нет, и валит ошибку.
Прошу помощи! Мне на отсутствие данных наплевать, запросто подошло бы решение, позволяющее ошибку игнорировать и идти дальше. Также помог бы какой-то метод запроса состояния браузера (или проверки его "живости").
Что делал/пробовал:
1) Читал тут: http://autoit-script.ru/index.php?topic=6485.0 у меня так и сделано, программа вылетает
2) Функции типа
, когда не находят объект, валят в консоль предупреждения, но программа продолжает работать, но валится на ошибках, которые IE.au3 выдаёт в других местах вместо предупреждений.
3) Стоят перехватчики:
В функции AnyErrFunc пытаюсь сбросить ошибку:
но тщетно, когда управление из неё выходит, программа таки завершается.
Имею программу, которая активно работает с одним сайтом через браузер. Всё через IE.au3. С недавних пор на сайте что-то поменяли, и программа стала вылетать с ошибкой. Отловил два своих вызова, на которых программа вылетала:
Код:
_IEBodyWriteHTML
_IEBodyReadText
Ошибка была "The requested action with this object has failed". Переписал все места, где были эти функции, использовав другие функции, но через некоторое время вылетела где-то ещё. На сей раз
Код:
_IEPropertyGet
Причём ошибки "приходящие", то есть не всякий вызов этих функций приводи к ошибке.
Насколько я понял, сайт иногда подвисает, и браузер не отвечает вовсе, соответствующие методы внутри IE.au3 не могут вернуть значение, и функция думает, что объекта нет, и валит ошибку.
Прошу помощи! Мне на отсутствие данных наплевать, запросто подошло бы решение, позволяющее ошибку игнорировать и идти дальше. Также помог бы какой-то метод запроса состояния браузера (или проверки его "живости").
Что делал/пробовал:
1) Читал тут: http://autoit-script.ru/index.php?topic=6485.0 у меня так и сделано, программа вылетает
2) Функции типа
Код:
_IEGetObjById
3) Стоят перехватчики:
Код:
$oAny_Error = ObjEvent("AutoIt.Error", "AnyErrFunc")
_IEErrorHandlerRegister("AnyErrFunc")
В функции AnyErrFunc пытаюсь сбросить ошибку:
Код:
SetError(0)
но тщетно, когда управление из неё выходит, программа таки завершается.