Автор Тема: Клик по элементу input  (Прочитано 2813 раз)

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

Оффлайн SHoCK13666 [?]

  • Новичок
  • *
  • Сообщений: 108
  • Репутация: 0
    • Profit-Wm.Net
    • Награды
Клик по элементу input
« Создано: Март 19, 2014, 15:09:36 »
Есть на странице поле для ввода текста и кнопка. Как можно кликнуть по input? Вот её код:
<input name="sum" type="text" id="gameee" />Подскажите, как такое можно сделать?
« Последнее редактирование: Март 19, 2014, 15:39:11 от SHoCK13666 »

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

Клик по элементу input
« Отправлен: Март 19, 2014, 15:09:36 »

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1354
  • Репутация: 169
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Клик по элементу input
« Ответ #1, Отправлен: Март 19, 2014, 16:28:36 »
Если нужно заполнить поле используй функцию
Код: AutoIt [Выделить]
Если нужно прочитать что написано в поле то
Код: AutoIt [Выделить]
(нажмите для показа/скрытия)
А для клика по кнопке можно использовать
Код: AutoIt [Выделить]
_IEAction($oInput, "click")
 

или
Код: AutoIt [Выделить]
Примеры в справке.
« Последнее редактирование: Март 19, 2014, 16:53:53 от alex33 »

Оффлайн SHoCK13666 [?]

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

  • Автор темы
  • Репутация: 0
    • Profit-Wm.Net
    • Награды
Re: Клик по элементу input
« Ответ #2, Отправлен: Март 21, 2014, 09:25:35 »
Вот такой код составил

Код: AutoIt [Выделить]
$oForm = _IEFormGetObjByName ($oIE, "ExampleForm")
$oText = _IEFormElementGetObjByName ($oForm, "sum")
_IEFormElementSetValue ($oText, '0.01')

Вроде всё правильно, но не вписывает в поле почему-то....

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7789
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Клик по элементу input
« Ответ #3, Отправлен: Март 21, 2014, 10:03:28 »
SHoCK13666  [?]
Цитировать
Вроде всё правильно, но не вписывает в поле почему-то....
А так?
Код: AutoIt [Выделить]
#include <IE.au3>

$oIE = _IE_Example('form')
$oForm = _IEFormGetObjByName($oIE, 'ExampleForm')
$oText = _IEFormElementGetObjByName($oForm, 'textExample')
ConsoleWrite('Before: "' & _IEFormElementGetValue($oText) & '"' & @LF)
_IEFormElementSetValue($oText, '0.01')
ConsoleWrite('After: "' & _IEFormElementGetValue($oText) & '"' & @LF)


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

Re: Клик по элементу input
« Ответ #3 Отправлен: Март 21, 2014, 10:03:28 »

Оффлайн SHoCK13666 [?]

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

  • Автор темы
  • Репутация: 0
    • Profit-Wm.Net
    • Награды
Re: Клик по элементу input
« Ответ #4, Отправлен: Март 21, 2014, 11:52:26 »
madmasles, тоже не вписывает...
Может это из-а того, что на странице несколько полей ввода с name='sum' ?
Можно ли в коде написать не name элемента, а, например, id?

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1354
  • Репутация: 169
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Клик по элементу input
« Ответ #5, Отправлен: Март 21, 2014, 11:59:40 »
Цитата: SHoCK13666
Может это из-а того, что на странице несколько полей ввода с name='sum' ?
Я думаю в этом вся проблема. Да, из-за этого наверно и не работает.
Цитата: SHoCK13666
Можно ли в коде написать не name элемента, а, например, id?
Конечно можно...
См. моё сообщение.

Оффлайн SHoCK13666 [?]

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

  • Автор темы
  • Репутация: 0
    • Profit-Wm.Net
    • Награды
Re: Клик по элементу input
« Ответ #6, Отправлен: Март 21, 2014, 12:30:35 »
alex33,
Что в этом коде не правильно?
Код: AutoIt [Выделить]
$oForm = _IEFormGetObjByName ($oIE, "ExampleForm")
$oText = _IEFormElementGetObjByName ($oForm, "gameee")
_IEFormElementSetValue ($oText, '0.01')

И в ScITE при выполнении показывает такую ошибку
--> IE.au3 V2.4-0 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch
--> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1354
  • Репутация: 169
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Клик по элементу input
« Ответ #7, Отправлен: Март 21, 2014, 12:40:27 »
Цитировать
Что в этом коде не правильно?
Вторая строка.
Попробуй так
Код: AutoIt [Выделить]
$oForm = _IEFormGetObjByName ($oIE, "ExampleForm")
$oText = _IEGetObjById ($oForm, "gameee")
_IEFormElementSetValue ($oText, '0.01')

« Последнее редактирование: Март 21, 2014, 14:59:54 от alex33 »

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

Re: Клик по элементу input
« Ответ #7 Отправлен: Март 21, 2014, 12:40:27 »

Оффлайн SHoCK13666 [?]

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

  • Автор темы
  • Репутация: 0
    • Profit-Wm.Net
    • Награды
Re: Клик по элементу input
« Ответ #8, Отправлен: Март 21, 2014, 12:44:28 »
--> IE.au3 V2.4-0 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch
--> IE.au3 V2.4-0 Error from function _IEGetObjById, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType
Теперь такая ошибка... В поле по прежнему не вписывает.

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1354
  • Репутация: 169
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Клик по элементу input
« Ответ #9, Отправлен: Март 21, 2014, 12:50:43 »
Значит name формы ExampleForm не правильный...
ExampleForm это name или id? И правильный ли он?
если id то
Код: AutoIt [Выделить]
$oForm = _IEGetObjById ($oIE, "ExampleForm")

Если name - проверь его на правильность реальной формы.

И вообще я думаю лучше будет выложить код полно страницы сюда...

Оффлайн C2H5OH [?]

  • Знаю я тут одно место с офигенными циркулями...
  • AutoIt Гуру
  • *****
  • Сообщений: 1473
  • Репутация: 330
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Клик по элементу input
« Ответ #10, Отправлен: Март 21, 2014, 12:56:03 »
No Match варианты перевода:
1. совпадения нет
2. нет совпадений

Очевидно что ты взял предложенный код

Код: AutoIt [Выделить]
$oIE = _IE_Example('form')
$oForm = _IEFormGetObjByName($oIE, 'ExampleForm')


И вместо _IE_Example('form') поставил открытие своей странички.
Но на твоей то страничке нет объектов с именем 'ExampleForm' ...


SHoCK варианты перевода:
шок, потрясение
Рано или поздно все станет понятно, все станет на свои места и выстроится в единую красивую схему, как кружева. Станет понятно, зачем все было нужно, потому что все будет правильно.

Оффлайн SHoCK13666 [?]

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

  • Автор темы
  • Репутация: 0
    • Profit-Wm.Net
    • Награды
Re: Клик по элементу input
« Ответ #11, Отправлен: Март 21, 2014, 13:01:03 »
Так заработало:
Код: AutoIt [Выделить]
$oForm = _IEGetObjById ($oIE, "gameee")
_IEFormElementSetValue ($oForm, '0.01')
 

Спасибо всем!

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1354
  • Репутация: 169
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Клик по элементу input
« Ответ #12, Отправлен: Март 21, 2014, 13:02:48 »
Цитата: SHoCK13666
Так заработало
Ну наконец-то! :)

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7789
  • Репутация: 2313
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Клик по элементу input
« Ответ #13, Отправлен: Март 21, 2014, 13:55:33 »
alex33,
Удивили.  :)
ПредупреждениеЗа нарушение правил форума (пункт В.11):
Цитировать
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1354
  • Репутация: 169
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Клик по элементу input
« Ответ #14, Отправлен: Март 21, 2014, 15:00:50 »
madmasles
Ой, извените пожалуйста... Да уж, я сам себя удивил...

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

Re: Клик по элементу input
« Ответ #14 Отправлен: Март 21, 2014, 15:00:50 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
3744 Просмотров
Последний ответ Август 17, 2010, 12:35:55
от Yashied
3 Ответов
2506 Просмотров
Последний ответ Август 28, 2012, 17:46:52
от AZJIO
5 Ответов
1306 Просмотров
Последний ответ Январь 20, 2015, 20:36:36
от lesoid
13 Ответов
3380 Просмотров
Последний ответ Февраль 01, 2016, 19:08:11
от alex33
6 Ответов
1848 Просмотров
Последний ответ Сентябрь 30, 2015, 18:07:32
от InnI
0 Ответов
975 Просмотров
Последний ответ Сентябрь 23, 2015, 15:05:01
от madmasles
0 Ответов
409 Просмотров
Последний ответ Март 08, 2016, 18:10:43
от DezmontDeXa
4 Ответов
1083 Просмотров
Последний ответ Март 13, 2016, 08:39:32
от alex33
5 Ответов
846 Просмотров
Последний ответ Январь 11, 2017, 13:26:16
от InnI
11 Ответов
394 Просмотров
Последний ответ Май 23, 2017, 18:14:03
от Alofa