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

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 [?]

  • Глобальный модератор
  • *
  • Сообщений: 3865
  • Репутация: 955
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.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 [?]

  • Глобальный модератор
  • *
  • Сообщений: 3865
  • Репутация: 955
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.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 Ответов
3111 Просмотров
Последний ответ Ноябрь 07, 2009, 01:43:53
от arfey
9 Ответов
6139 Просмотров
Последний ответ Июль 16, 2010, 03:29:44
от HukpoFuJl
0 Ответов
1286 Просмотров
Последний ответ Апрель 11, 2012, 19:46:33
от madmasles
0 Ответов
3791 Просмотров
Последний ответ Июнь 29, 2012, 22:35:45
от Vova93
4 Ответов
2493 Просмотров
Последний ответ Июль 06, 2012, 09:09:52
от veretragna
0 Ответов
1416 Просмотров
Последний ответ Август 24, 2012, 07:56:23
от Shootclick
2 Ответов
2089 Просмотров
Последний ответ Октябрь 29, 2012, 19:31:20
от Zalman1980
1 Ответов
1925 Просмотров
Последний ответ Декабрь 13, 2012, 08:29:10
от Whited
0 Ответов
1803 Просмотров
Последний ответ Март 26, 2013, 00:26:09
от MrGep
1 Ответов
2260 Просмотров
Последний ответ Май 06, 2013, 16:34:27
от madmasles