Я пытаюсь 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 назад и нажимали следующую кнопку.
Любая помощь будет принята с благодарностью.