Программный клик на не стандартной кнопке
Здравствуйте, коллеги!
Работаю в больнице. Есть внутренняя программа для записи пациентов на прием (Delphi 7) и база (SQL Server 2008 r2). Имею задачу наладить онлайн передачу данных на сайт Мин здрава области. В программе использую вместо IE компонент TChromium. Для навигации и ввода данных применяю конструкцию: ExecuteJavaScript(Sq,'about:blank',0), где Sq - текст скрипта. Таким образом удалось пройти окно авторизации и отобразить окно поиска пациентов. Здесь имеются визуальные поля для ввода ФИО, а также кнопка Поиск. ФИО удалось заполнить программно, а вот программно кликнуть на кнопку не удается. В редакторе браузера Mozilla для этой кнопки я получил такой код: <td class="lsd-form-grid-cell lsd-forms-field-control "> <div class="lsd-buttons-panel"> <span id="3793" class="lsd-widgets-action lsd-focusable lsd-widgets-action-operation-full-search lsd-lockable lsd-lockable-submit lsd-input-focused" title="Поиск"> <a class="lsd-widgets-action-link lsd-widgets-action-text" href="javascript:void(0);"> Поиск</a> <span class="lsd-widgets-action-data" style="display:none;"></span> </span></div></td> При этом числовой id изменяется при каждом открытии страницы. Я пробовал так: Сначала нашел все node по getElementsByClassName. Потом по вхождению уникального текста в InnerHTML нашел потребную node и кликнул по ней: node.click(); Но ни чего не произошло. Собственно, здесь и нет обработчика onClick. Пробовал установить фокус и передаться по ссылке, взятой из href: node.focus();document.location.href="javascript:vo id(0);"; Тоже ни какого результата. Может устанавливать фокус и кликать нужно по внутренним элементам этой node? Прошу пощи! С уважением, buthil. |
buthil, так ты до какого, в итоге, элемента добрался? там ведь ячейка, див, спаны и ссылка...
Цитата:
Возможно твой "клик" выполняется раньше чем то навешивание происходит... |
Попробуй что-нибудь из этого:
<html> <head> </head> <body> <td class="lsd-form-grid-cell lsd-forms-field-control "> <div class="lsd-buttons-panel"> <span id="3793" class="lsd-widgets-action lsd-focusable lsd-widgets-action-operation-full-search lsd-lockable lsd-lockable-submit lsd-input-focused" title="Поиск"> <a class="lsd-widgets-action-link lsd-widgets-action-text" href="http://javascript.ru"> Поиск</a> <span class="lsd-widgets-action-data" style="display:none;"></span> </span></div></td> <script> document.querySelector(".lsd-buttons-panel").click() document.querySelector(".lsd-widgets-action-link").click() </script> </body> </html> |
buthil,
//offtop А, если не секрет, какие именно данные пациентов отправляются в область? |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
<html> <head> </head> <body> <a href="http://ya.ru">txt</a> <script> a=document.querySelector("a") alert(a.childNodes[0]) try{ a.childNodes[0].click() }catch(e){alert(e)} </script> </body> </html> |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Но у Тса явно проблема в следующем: - у него есть дельфийская программа с данными - с области ему дают некий УРЛ, по котором нужно зайти, набрать некие данны, для отправки им на обработку Поскольку ТС видать не ленивый парень, он на тех же дельфях пытается имитировать ручной ввод регистрации по тому УРЛ и далее хочет так же программо заполнить нужные данные из своей БД. После чего отправить это все... |
Цитата:
|
Цитата:
Цитата:
Может для тебя это новость но браузеры работают по такому же принципу... :D Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Какого числа, во сколько и к какому врачу записался.
|
Всем участникам большое спасибо!
Нужно было кликнуть по элементу: <a class="lsd-widgets-action-link lsd-widgets-action-text" href="javascript:void(0);"> Поиск</a> Тема закрыта. |
Часовой пояс GMT +3, время: 06:28. |