Что нового

Ошибка при stringinstr "The requested action with this object has failed"

Rage911

Новичок
Сообщения
6
Репутация
1
Имею примитивный скрипт примерно следующего содержания:
Код:
$oIE = _IECreate('bla bla bla') (пример)
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
If StringInStr($oLink.href,'search/advanced') Then msgbox(4096,'link:',$oLink.href)
next


на выходе получаю:
Код:
>Running:(3.3.6.1):C:\Program Files\AutoIt3\autoit3.exe "C:\script\test.au3"    
C:\script\test.au3 (29) : ==> The requested action with this object has failed.:
If StringInStr($oLink.href,'/search/advanced') Then msgbox(4096,'link:',$oLink.href)
If StringInStr($oLink.href^ ERROR
Пробовал ставить разные версии аутоит и самого редактора, включая последние беты..все так же.
Имхо загвоздка в самой работе функции _IELinkGetCollection($oIE) - которая записывает в массив "ошибочные объекты", доступ к которым не возможен в дальнейшем. Как обойти данную ошибку и чем она вызвана? Есть ли функции наподобие "try then" ?
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Код:
#include <ie.au3>
$oIE = _IECreate('http://yandex.ru/search/advanced?numdoc=10&text=Фигня')
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
If StringInStr($oLink.href,'search/advanced') Then msgbox(4096,'link:',$oLink)
next

выдал msgbox с пустым текстом, что нормально

Код:
$oIE = _IECreate('yandex.ru')

тоже работало.

Давай свой url неработающий
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Rage911

{CodeWarn}
 
Автор
R

Rage911

Новичок
Сообщения
6
Репутация
1
Вообщем как всегда - сам спросил, сам ответил )
Чтобы обойти ошибку следует использовать проверку "есть ли данное свойство объекта" методом:
Код:
If StringInStr(_IEPropertyGet($olink,'innertext'),'расширенный поиск') Then msgbox(4096,'OK','OK')
Тему можно закрывать. Всем участникам спасибо, за предупреждение тоже спасибо)
 
Верх