Автор Тема: [Сеть, интернет] Проблема с объектами IE  (Прочитано 716 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн Vladd13579 [?]

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Пишу скрипт для автоматизации действий на сайте, запускаю,работает некоторое время,потом вылетает ошибка.
The requested action with this object has failed ,почти каждый раз на разной строке ошибка. Уже весь код переписал. Наставил кучу проверок на свойства и "объект ли эта переменная?", не знаю уже что и вписать туда. Всего два клика.
 Пожалуйста помогите.

Код: AutoIt [Выделить]
#include <IE.au3>
Func Terminate()
    Exit 0
 EndFunc
_IEErrorHandlerDeregister ()
HotKeySet("{ESC}", "Terminate")
while 1

$oie=_IECreate("https://www.drive2.ru/r/renault/419151/",0,1,1)
;ConsoleWrite(ObjName($oie,2))
;exit 0
$hTimer = TimerInit()
while TimerDiff($hTimer)<120000
      if _IELoadWait($oie,100,60000)=0 Then
      ConsoleWrite("ошибочка","страничка не прогрузилась за целую минуту!!!")
      exit @error
   EndIf
while(1)
$oButtons = _IETagNameGetCollection($oIE, 'button')
if VarGetType($oButtons)="Object" Then
   ConsoleWrite("обьект1"&@CR)
   ExitLoop
Else
   sleep(500)
EndIf
WEnd
For $oButton In $oButtons
;  ConsoleWrite("стр= "&$oButton.classname&@CR)
  if _IEPropertyGet($oButtons,'innertext')<>0 Then
    If StringInStr($oButton.classname,"is-off is-pressed")<>0 Then
       ConsoleWrite($oButton.classname&" пропустил"&@CR)
        ExitLoop
        Else
    If StringInStr($oButton.classname,"c-like__button js-like-button c-button c-button--solid c-button--l")<>0 Then
       if IsObj($oButton)=1 Then
        $oButton.Click()
         ConsoleWrite($oButton.classname&" нрав"&@CR)
        ExitLoop
     EndIf
  EndIf
  EndIf
  EndIf
 Next
 sleep(2000)

while(1)
  $oButtons1 = _IETagNameGetCollection($oIE, 'a')
if VarGetType($oButtons1)="Object" Then
   ConsoleWrite("обьект2"&@CR)
   ExitLoop
Else
   sleep(500)
EndIf
WEnd
For $oButton1 In $oButtons1
    ; ConsoleWrite($oButton.innerHTML&@CR)
     if $oButton1.innerHTML=="Случайная машина" Then
    $oButton1.Click()
        ConsoleWrite("случайная машина"&@CR)
    ExitLoop
 EndIf
 Next
 WEnd
 _IEQuit($oie)
 sleep(1000)
WEnd
 


Русское сообщество AutoIt

[Сеть, интернет] Проблема с объектами IE
« Отправлен: Март 09, 2017, 18:01:27 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3682
  • Репутация: 934
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: [Сеть, интернет] Проблема с объектами IE
« Ответ #1, Отправлен: Март 09, 2017, 21:35:17 »
Попробуйте так:
(нажмите для показа/скрытия)

Скорблю и помню.




Оффлайн Vladd13579 [?]

  • Новичок
  • *
  • Сообщений: 6

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Сеть, интернет] Проблема с объектами IE
« Ответ #2, Отправлен: Март 09, 2017, 22:34:25 »
Там надо нажимать лайк и потом нажимать рандомная машина, попробывал кусок который нажимает лайк вставить в цикл и выбивает ошибку(
The requested action with this object has failed.:
If $oButtons.length = 1 Then $oButtons(0).click
If $oButtons.length = 1 Then $oButtons(0)^ ERROR

Помечен как лучший ответ пользователем Vladd13579 Отправлен Март 10, 2017, 00:34:59

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3682
  • Репутация: 934
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: [Сеть, интернет] Проблема с объектами IE
« Ответ #3, Отправлен: Март 10, 2017, 00:20:32 »
Vladd13579
Попробуйте.
(нажмите для показа/скрытия)

Русское сообщество AutoIt

Re: [Сеть, интернет] Проблема с объектами IE
« Ответ #3 Отправлен: Март 10, 2017, 00:20:32 »

Оффлайн Vladd13579 [?]

  • Новичок
  • *
  • Сообщений: 6

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Сеть, интернет] Проблема с объектами IE
« Ответ #4, Отправлен: Март 10, 2017, 00:34:47 »
Спасибо большое за помощь, взял кусок кликающий на лайк, и заменил клик на кнопку рандомная машина, откопал таки в коде сайта, как она работает= добавляет к основной ссылке random . и теперь клик делается только на лайк. Тестирую ошибок не возникает.  :)

Русское сообщество AutoIt

Re: [Сеть, интернет] Проблема с объектами IE
« Ответ #4 Отправлен: Март 10, 2017, 00:34:47 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
3037 Просмотров
Последний ответ Ноябрь 07, 2009, 01:43:53
от arfey
9 Ответов
5982 Просмотров
Последний ответ Июль 16, 2010, 03:29:44
от HukpoFuJl
0 Ответов
1248 Просмотров
Последний ответ Апрель 11, 2012, 19:46:33
от madmasles
0 Ответов
3732 Просмотров
Последний ответ Июнь 29, 2012, 22:35:45
от Vova93
4 Ответов
2331 Просмотров
Последний ответ Июль 06, 2012, 09:09:52
от veretragna
0 Ответов
1351 Просмотров
Последний ответ Август 24, 2012, 07:56:23
от Shootclick
2 Ответов
2010 Просмотров
Последний ответ Октябрь 29, 2012, 19:31:20
от Zalman1980
1 Ответов
1853 Просмотров
Последний ответ Декабрь 13, 2012, 08:29:10
от Whited
0 Ответов
1750 Просмотров
Последний ответ Март 26, 2013, 00:26:09
от MrGep
1 Ответов
2157 Просмотров
Последний ответ Май 06, 2013, 16:34:27
от madmasles