我正在使用 selenium 來抓取一個網站,該網站有一個日歷,我想從該日歷中找出有可用時間的日期。我檢查了日歷并發現了這些元素
<table class="ui-datepicker-calendar">
<thead>
<tr>
<th scope="col"><span title="Monday">M?n</span></th>
<th scope="col"><span title="Tuesday">Tis</span></th>
<th scope="col"><span title="Wednesday">Ons</span></th>
<th scope="col"><span title="Thursday">Tor</span></th>
<th scope="col"><span title="Friday">Fre</span></th>
<th scope="col" class="ui-datepicker-week-end"><span title="Saturday">L?r</span></th>
<th scope="col" class="ui-datepicker-week-end"><span title="Sunday">S?n</span></th>
</tr>
</thead>
<tbody>
<tr>
<td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">29</span></td>
<td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">30</span></td>
<td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">31</span></td>
<td class=" ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">1</span></td>
<td class=" ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">2</span></td>
<td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">3</span></td>
<td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">4</span></td>
</tr>
<tr>
<td class=" ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">5</span></td>
<td class=" ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">6</span></td>
<td class=" ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">7</span></td>
<td class=" ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">8</span></td>
<td class=" ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">9</span></td>
<td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">10</span></td>
<td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">11</span></td>
</tr>
<tr>
<td class=" unavailable ui-datepicker-today" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default ui-state-highlight" href="#">12</a></td>
<td class=" available" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">13</a></td>
<td class=" available" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">14</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">15</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">16</a></td>
<td class=" ui-datepicker-week-end unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">17</a></td>
<td class=" ui-datepicker-week-end unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">18</a></td>
</tr>
<tr>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">19</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">20</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">21</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">22</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">23</a></td>
<td class=" ui-datepicker-week-end unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">24</a></td>
<td class=" ui-datepicker-week-end unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">25</a></td>
</tr>
<tr>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">26</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">27</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">28</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">29</a></td>
<td class=" unavailable" data-handler="selectDay" data-event="click" data-month="8" data-year="2022"><a class="ui-state-default" href="#">30</a></td>
<td class=" ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">1</span></td>
<td class=" ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled unavailable"><span class="ui-state-default">2</span></td>
</tr>
</tbody>
</table>
正如您所看到的,有可用時間的日子有 td 這些是我想要保存并保留在串列中的日子。
我已經設法列印出日期,所以我似乎將所有行都保存為元素,因為我這樣做了
avail = driver.find_elements(By.CLASS_NAME,"ui-datepicker-calendar")
for elem in avail:
print(elem.text)
我得到的輸出是 29,30,31,1,2,3,4...
如何僅保存具有 td 的行?
uj5u.com熱心網友回復:
UPD
由于父td
類可能包含其他類名,因此我們可以使用它contains
來代替equals
并用于not
排除不可用的日期。如下:
avail = driver.find_elements(By.XPATH,"//td[not(contains(@class,'unavailable'))]//a[@class='ui-state-default']")
for elem in avail:
print(elem.text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/506696.html