Навигация по таблицам HTML для циклического вывода на печать текста и нажатия кнопок ссылок - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь l oop через таблицу на сайте, используя Python и модуль Selenium. Таблица кажется более сложной, чем другие опубликованные примеры. Это таблица из 2 столбцов с любым количеством строк. Столбец 1 содержит текст, который я хочу распечатать для проверки, а столбец 2 содержит объект кнопки, чтобы щелкнуть по go к этой ссылке. Поэтому я хочу, чтобы l oop через таблицу, чтобы проверить текст и нажмите на кнопку. Ниже приведен пример HTML, с которым я имею дело:

<table class="lucidGrid" cellspacing="0" rules="all" border="1" id="ctl00_cphBody_ScheduleWidget_grdSchedule" style="width:100%;border-collapse:collapse;">
  <tbody>
    <tr>
      <th class="smallerText" scope="col">Description</th>
      <th scope="col">Single Attendance</th>
    </tr>
    <tr class="filesGridOddRow">
      <td class="padding10left" align="center">TEXT I WANT TO PRINT/CHECK - P</td>
      <td align="center"><input type="button" value="Attendance" onclick="javascript:__doPostBack('ctl00$cphBody$ScheduleWidget$grdSchedule','SingleAttendance$0')" class=""></td>
    </tr>
    <tr class="filesGridEvenRow">
      <td class="padding10left" align="center">TEXT I REALLY WANT TO PRINT/CHECK - P</td>
      <td align="center"><input type="button" value="Attendance" onclick="javascript:__doPostBack('ctl00$cphBody$ScheduleWidget$grdSchedule','SingleAttendance$1')"></td>
    </tr>
  </tbody>
</table>

Мой код для идентификации таблицы (я также смог использовать xpath):

mytable = driver.find_elements_by_id("//table[@id='ctl00_cphBody_ScheduleWidget_grdSchedule']")

Эта часть будет нажимать на самый первый экземпляр кнопки:

driver.find_element_by_xpath(".//input[contains(@onclick, 'SingleAttendance$')]").click()

Я могу в какой-то степени распечатать часть текста, хотя он не организован (он распечатан во все одно набор текста вместо отдельных строк текста). Кнопки, которые помечены как «SingleAttendance», представляют интерес. Идея состоит в том, чтобы все oop нажимали кнопку в ссылке, затем выполняли некоторые действия, а затем go назад и нажимали следующую кнопку.

Любая помощь будет принята с благодарностью.

...