Что нового

[Сеть, интернет] обработать ошибку obj

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Всем доброго времени суток, Ув. Форумчане. :IL_AutoIt_1:
Не знаю, как правильно сформулировать вопрос, поэтому приведу пример:
Вот кусок скрипта:
Код:
$Url = "http://odnoklassniki.ru/dk?st.cmd=userGroupsSearch&st.query_userAltGroupSearch="
$oIE= _IECreate ($URL,0,1,1,1)
$oSearch = _IEGetObjById($oIE, "field_query_userAltGroupSearch")
$oButtons = _IETagNameGetCollection ($oIE,"input")
_IEFormElementSetValue($oSearch, $Poisk)

For $oButton in $oButtons
   If $oButton.value == "Найти" Then _IEAction($oButton, "click")
   Next

Бывают такие случаи, когда браузер только закрыл и снова запускаю скрипт, браузер не запускается.
А скрипт выдает ошибку:
Код:
For $oButton in $oButtons
For $oButton in $oButtons^ ERROR
Я так понимаю, что браузер не запустился - объект не получен и т.д.
Что можно придумать, что бы эти ошибки перехватывать? Или как то предотвратит? :scratch:
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Спасибо, я думаю это то что нужно. :thumbs_up:
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Я всегда делаю так.
Код:
If IsObj($oButtons) Then
	For $oButton in $oButtons
		
		...
		
	Next
EndIf
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
alex33 сказал(а):
Я всегда делаю так.
Код:
If IsObj($oButtons) Then
	For $oButton in $oButtons
		
		...
		
	Next
EndIf

А если IsObj($oButtons) - еще не стал обьектом, например браузер не запустился.. То скрипт полетит дальше, и ппц...?


Добавлено:
Сообщение автоматически объединено:

Да, и еще вопрос наверное по этой же теме.
Вот код:
Код:
$oNambers = _IETagNameGetCollection ($oIE,"i")
;~ Sleep (2000)
$i = 0

For $oNamber in $oNambers
   If $oNamber.className == "hcount" Then
   $i = $i + 1
   $a =   _IEPropertyGet($oNamber, "InnerText")
   If $i = 2 Then
   $All_Group = $a
   _ConsoleWrite ("Все группы: "&$All_Group)
ElseIf $i = 1 Then
   $My_group = $a
   _ConsoleWrite ("Мои группы: "&$My_group)
   $All_Group = 0
Else
   _ConsoleWrite ("Группы не найдены")

EndIf
EndIf
Next


Если использовать "Слип" то все ок. Если без слипа, то дальше все идет не так как нужно. Как дождаться выполнения действий:
Код:
_IETagNameGetCollection ($oIE,"i")

Но не через слип... Ведь интернет и комп может с разным временем обработать.
 
Верх