![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 14.10.2016
Сообщений: 3
|
![]()
из VBA работаю со страницей сайта. Нужно парсить данные со страницы в Word. Для вывода нужных данных нужно сначала мышкой кликнуть на определенную строку в таблице. Кликать по кнопке из VBA можно методом Click для кнопки. А вот как вызвать клик мыши по строке таблицы и какой элемент получать/искать.
Мне нужно "щелкнуть" мышкой программно из vba всегда на последней строке грида. Подскажите какой ID подставить в GetElementBiyID () и каким методом по нему "щелкнуть", а то у меня че то затык какой-то (( Вот часть кода с таблицей (данные я заменил иксами - там конфеденциальные): Код HTML:
<div id="form:datatable" class="ui-datatable ui-widget"> <div class="ui-datatable-tablewrapper"> <table role="grid"> <thead id="form:datatable_head"> <tr role="row"> <th id="form:datatable:j_idt100" class="ui-state-default" role="columnheader"> <span> </span> </th> <th id="form:datatable:j_idt123" class="ui-state-default ui-sortable-column" role="columnheader"> <span>ЕНП</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> <th id="form:datatable:j_idt126" class="ui-state-default ui-sortable-column" role="columnheader"> <span>Фамилия</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> <th id="form:datatable:j_idt129" class="ui-state-default ui-sortable-column" role="columnheader"> <span>Имя</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> <th id="form:datatable:j_idt132" class="ui-state-default ui-sortable-column" role="columnheader"> <span>Отчество</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> <th id="form:datatable:j_idt135" class="ui-state-default ui-sortable-column" role="columnheader"> <span>Дата<br>рождения</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> <th id="form:datatable:j_idt138" class="ui-state-default ui-sortable-column" role="columnheader"> <span>Документ</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> <th id="form:datatable:j_idt141" class="ui-state-default ui-sortable-column" role="columnheader"> <span>СМО</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> <th id="form:datatable:j_idt144" class="ui-state-default ui-sortable-column" role="columnheader"> <span>Дата<br>закрытия<br>записи</span> <span class="ui-sortable-column-icon ui-icon ui-icon-carat-2-n-s"></span> </th> </tr> </thead> <tfoot></tfoot> <tbody id="form:datatable_data" class="ui-datatable-data ui-widget-content"> <tr data-ri="0" data-rk="25702174" class="ui-widget-content ui-datatable-even jsfcrud_odd_row" role="row" aria-selected="false"><td role="gridcell"> <table class="term"> <tbody> <tr> <td><a href="#" title="История" onclick="mojarra.jsfcljs(document.getElementById('form'),{'form:datatable:0:j_idt105':'form:datatable:0:j_idt105'},'');return false" class="ui-icon ui-icon-clock">История</a></td> <td></td> </tr> </tbody> </table> </td> <td role="gridcell"><span class="remstat_purple" style="">X</span></td> <td role="gridcell"><span class="remstat_purple">X</span></td> <td role="gridcell"><span class="remstat_purple">X</span></td> <td role="gridcell"><span class="remstat_purple">X</span></td> <td role="gridcell"><span class="remstat_purple">X</span></td> <td role="gridcell"><span class="remstat_purple" title="Паспорт гражданина СССР X">X</span></td> <td role="gridcell"><span class="remstat_purple" title="X">X</span></td> <td role="gridcell"><span class="remstat_purple">X</span></td> </tr> <tr data-ri="1" data-rk="56156596" class="ui-widget-content ui-datatable-odd jsfcrud_odd_row ui-state-highlight" role="row" aria-selected="true"> <td role="gridcell"> <table class="term"> <tbody> <tr> <td><a href="#" title="История" onclick="mojarra.jsfcljs(document.getElementById('form'),{'form:datatable:1:j_idt105':'form:datatable:1:j_idt105'},'');return false" class="ui-icon ui-icon-clock">История</a></td> <td></td> </tr> </tbody> </table> </td> <td role="gridcell"><span class="" style="">X</span></td> <td role="gridcell"><span class="">X</span></td> <td role="gridcell"><span class="">X</span></td> <td role="gridcell"><span class="">X</span></td> <td role="gridcell"><span class="">X</span></td> <td role="gridcell"><span class="" title="Паспорт гражданина Российской Федерации X">X </span></td> <td role="gridcell"><span class="" title="X">X</span></td> <td role="gridcell"><span class=""></span></td> </tr> </tbody> </table> </div> <div id="form:datatable_paginator_bottom" class="ui-paginator ui-paginator-bottom ui-widget-header ui-corner-bottom"> <span class="ui-paginator-first ui-state-default ui-corner-all ui-state-disabled"> <span class="ui-icon ui-icon-seek-first">p</span></span> <span class="ui-paginator-prev ui-state-default ui-corner-all ui-state-disabled"> <span class="ui-icon ui-icon-seek-prev">p</span></span> <span class="ui-paginator-current">1..2/2</span> <span class="ui-paginator-next ui-state-default ui-corner-all ui-state-disabled"> <span class="ui-icon ui-icon-seek-next">p</span></span> <span class="ui-paginator-last ui-state-default ui-corner-all ui-state-disabled"> <span class="ui-icon ui-icon-seek-end">p</span></span> <span class="ui-paginator-pages"> <span class="ui-paginator-page ui-state-default ui-state-active ui-corner-all">1</span></span> <select class="ui-paginator-rpp-options ui-widget ui-state-default ui-corner-left" value="10"> <option value="5">5</option> <option value="10" selected="selected">10</option> <option value="15">15</option> </select> </div> <input type="hidden" id="form:datatable_selection" name="form:datatable_selection" autocomplete="off" value="56156596"> </div> Последний раз редактировалось bigorv; 14.10.2016 в 18:27. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Если у него нет id, то GetElementBiyID естественно не подходит. Используйте что-то другое. GetElementsByClassName, GetElementsByTagName, XPath (если WebBrowser умеет), JavaScript, ...
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 14.10.2016
Сообщений: 3
|
![]()
Это я понимаю. Просто мне нужно поконкретнее как написать код на VBA:
Допустим, я получаю элемент Tbody по его ID="form ![]() Код:
Код:
КАК "Щелкнуть" по нему мышкой программно? elemTR.Click - не работает elemTR.OnClick - не работает В браузере при щелчке мышкой по строке таблицы происходит обновление информации на странице |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
getElementById вернет вам 1 элемент — tbody.
список tr наверно можно получить через Children То есть примерно такой псевдокод Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 14.10.2016
Сообщений: 3
|
![]()
Я тоже так думаю, но не знаю конкретно как добраться по иерархии вложенных элементов до нужного мне.
В отладчике VBA я когда я в окно Watches получаю объект IEdoc.getElementById("form ![]() Например у объекта Children Есть Item1 и Item2, то есть в гриде 2 строки. Объект Item имеет свойство TagName="TR", значит это и есть строка таблицы? Мне нужна последняя строка Item2, поэтому я пишу: Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Присвоение значения строке на основе таблицы подстановки | Cave_IAR | Microsoft Office Access | 4 | 09.11.2011 19:27 |
Замена значений в определённой строке таблицы | oleg_sh | Microsoft Office Excel | 18 | 18.10.2010 12:02 |
Как сделать так, чтобы в моем браузере новое окно страницы открывалось в моем-же браузере??? | Somilya | Помощь студентам | 6 | 22.12.2009 21:56 |
Отправка SMS через клик по строке таблицы | RUBEY | Microsoft Office Excel | 4 | 25.12.2008 11:07 |
Программно установить курсор мыши в браузере IE, и кликнуть в окне браузера | Vladimir K. | Общие вопросы Delphi | 13 | 19.01.2008 17:07 |