Автор Тема: Выбор значения из выпадающего списка EI <div class="...">...</div>  (Прочитано 534 раз)

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

Оффлайн Arfull [?]

  • Новичок
  • *
  • Сообщений: 2
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Здравствуйте. Темы про выпадающие меню читал, но, кажется, у меня другая ситуация  :(
Помогите разобраться как выбрать определенное значение из выпадающего меню.

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

Local $oIE = _IECreate("https://гувм.мвд.рф/services/appointment/",0,1,1,1) ;создать окно
_IELoadWait ($oIE) ;ожидает загрузку страницы, прежде чем продолжить

;нажать кнопку
$oButton = _IEGetObjById($oIE, 'confirm');находим объект id="confirm" ... Да, согласен.
_IEAction($oButton, 'click');нажимаем кнопку
_IELoadWait ($oIE) ;ожидает загрузку страницы, прежде чем продолжить

$hIE = WinWait('[Class:IEFrame]') ;приостановить выполнение скрипта до появления указанного окна.
$oIE2 = _IEAttach ($hIE, "Embedded") ;брать эту переменную

$sUrl = _IEPropertyGet ($oIE2, "locationurl") ;возвращает URL для проверки Attach
ConsoleWrite( $sUrl & @CRLF );вывести URL в консоль


;выбор региона (не работает)
$oForm = _IEFormGetObjByName($oIE2, "appointment_form")
  $oSelect = _IEFormElementGetObjByName($oForm, "site_id") ;select name="site_id"
  _IEFormElementOptionSelect($oSelect, "40", 1, "byValue") ;ФМС России по Республике Ингушетия


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


Оффлайн randal [?]

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Arfull
Всё дело в том, что ваш выпадающий список select-ом не является. Это, грубо говоря, просто набор картинок, которые появляются при нажатии мышкой. Похоже, разработчики сайта постарались максимально усложнить работу "автоматизаторам".
Можно сделать так, хотя это немножко "говнокод"  :-[
Код: AutoIt [Выделить]
;выбор региона
$oDiv = $oIE.document.getElementsByClassName('select-title')
$oDiv.item(0).focus()
$oDiv.item(0).click()
Send('Ингушетия') ; тут вписываем что вам нужно
Send('{DOWN}')
Send('{ENTER}')


Оффлайн Arfull [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Скрытый текст:Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст


Огромное спасибо, это лучше чем у меня *ничего*  ;)
Еще не сильно тыкал, но:
Код: AutoIt [Выделить]
;выбор региона
$oDiv = $oIE2.document.getElementsByClassName('select-title')
Sleep (2000) ;Добавил задержку
$oDiv = $oIE2.document.getElementsByClassName('select-title') ;Еще раз взять элемент, т.к. с одним get работает не с первого раза
$oDiv.item(0).focus()
$oDiv.item(0).click()
Send('УФМС России по Республике Ингушетия')
Send('{DOWN}')
Send('{ENTER}')


Наверное, с первого раза взять get не удается, т.к. страница или еще не загрузилась (что вряд ли) или не появилось нужное окно  :think:

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

Re: Выбор значения из выпадающего списка EI <div class="...">...</div>
« Ответ #2 Отправлен: Май 20, 2018, 06:53:49 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
4090 Просмотров
Последний ответ Июнь 24, 2013, 17:05:53
от Sky-WaLkeR
6 Ответов
2733 Просмотров
Последний ответ Август 01, 2014, 16:18:04
от madmasles
0 Ответов
924 Просмотров
Последний ответ Август 01, 2014, 13:50:37
от madmasles
0 Ответов
1081 Просмотров
Последний ответ Декабрь 16, 2014, 16:46:18
от madmasles
6 Ответов
2405 Просмотров
Последний ответ Январь 20, 2015, 10:42:29
от metlt
1 Ответов
894 Просмотров
Последний ответ Декабрь 03, 2015, 14:33:00
от kvitnitskiy
2 Ответов
1896 Просмотров
Последний ответ Июль 13, 2016, 03:03:52
от rafaga
4 Ответов
2280 Просмотров
Последний ответ Март 09, 2017, 05:48:26
от CreatoR
1 Ответов
600 Просмотров
Последний ответ Август 22, 2017, 23:17:56
от Alofa
4 Ответов
1129 Просмотров
Последний ответ Ноябрь 04, 2017, 23:07:34
от Ruzarj