Автор Тема: В чём отличия _IETagNameGetCollection и _IETagNameAllGetCollection  (Прочитано 3912 раз)

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

Оффлайн o_nix [?]

  • Новичок
  • *
  • Сообщений: 35
  • Репутация: 1
    • Награды
Этот код работает
Код: AutoIt [Выделить]
#include <IE.au3>

$oIE = _IECreate('http://www.google.ru/')
_IELoadWait($oIE)

$oInputSerch = _IEGetObjByName($oIE, 'q')
_IEDocInsertText($oInputSerch, 'AutoIt')

$oInputs = _IETagNameGetCollection($oIE, 'input')


For $oInput In $oInputs
    If $oInput.value == 'Поиск в Google' Then
_IEAction($oInput, 'click')
    EndIf
Next
 


Этот код неработает
Код: AutoIt [Выделить]
#include <IE.au3>

$oIE = _IECreate('http://www.google.ru/')
_IELoadWait($oIE)

$oInputSerch = _IEGetObjByName($oIE, 'q')
_IEDocInsertText($oInputSerch, 'AutoIt')

$oInputs = _IETagNameAllGetCollection($oIE)


For $oInput In $oInputs
    If $oInput.value == 'Поиск в Google' Then
_IEAction($oInput, 'click')
    EndIf
Next

Хотя теоретически исходя из описания функций в хелпе должен работать.
при этом с $oInput.inertext работает с $oInput.value нет ...
Что нетак ??

Цель - создать скрипт кликающий кнопку зная только Value этой кнопки и ничего больше. Тоесть чтобы небыло заморочек с названиями форм и id элементов и тд.
« Последнее редактирование: Март 20, 2010, 14:52:09 от o_nix »

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

В чём отличия _IETagNameGetCollection и _IETagNameAllGetCollection
« Отправлен: Март 20, 2010, 14:30:36 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Вот так, всё будет работать:
Код: AutoIt [Выделить]
$oIE = _IECreate('http://www.google.ru/')
;_IELoadWait($oIE) нет необходимости, так как в _IECreate встроена проверка на загрузку страницы
$oInputSerch = _IEGetObjByName($oIE, 'q')
_IEDocInsertText($oInputSerch, 'AutoIt')
$oInputs = _IETagNameAllGetCollection($oIE)

For $oInput In $oInputs
    If $oInput.getAttribute("value") = 'Поиск в Google' Then
    _IEAction($oInput, 'click')
    EndIf
Next


Просто нет такого свойства, Value. Есть метод getAttribute("value") который по имени атрибута возвращает вам его значения. В данном случае искомая строка.

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




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

Re: В чём отличия _IETagNameGetCollection и _IETagNameAllGetCollection
« Ответ #1 Отправлен: Март 21, 2010, 02:16:13 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
1440 Просмотров
Последний ответ Май 09, 2012, 21:55:53
от inververs
2 Ответов
2603 Просмотров
Последний ответ Апрель 14, 2013, 23:22:46
от Yura-H2O
3 Ответов
2442 Просмотров
Последний ответ Июнь 12, 2013, 16:03:33
от irvin12345
1 Ответов
1033 Просмотров
Последний ответ Июль 28, 2014, 23:59:42
от Garrett
4 Ответов
1307 Просмотров
Последний ответ Февраль 09, 2015, 13:48:57
от jam
4 Ответов
1487 Просмотров
Последний ответ Март 13, 2016, 08:39:32
от alex33
1 Ответов
938 Просмотров
Последний ответ Март 16, 2016, 15:17:22
от F9
0 Ответов
590 Просмотров
Последний ответ Октябрь 28, 2016, 22:13:50
от louie1743shkirondo
1 Ответов
397 Просмотров
Последний ответ Октябрь 19, 2017, 10:15:19
от hedji
2 Ответов
635 Просмотров
Последний ответ Апрель 27, 2018, 14:13:47
от Radik