Программный клик на не стандартной кнопке
Здравствуйте, коллеги!
Работаю в больнице. Есть внутренняя программа для записи пациентов на прием (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> |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 01:59. |