使用selenium选择“按表链接”

2024-06-02 17:51:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我的文件结构如下:

<table class="month1" cellspacing="0" border="0" cellpadding="0"> 
<tbody class="">
 <tr><td><div time="1511650969812" data-tooltip="" class="day lastMonth  valid">26</div></td><td><div time="1511737369812" data-tooltip="" class="day lastMonth  valid">27</div></td><td><div time="1511823769812" data-tooltip="" class="day lastMonth  valid">28</div></td><td><div time="1511910169812" data-tooltip="" class="day lastMonth  valid">29</div></td><td><div time="1511996569812" data-tooltip="" class="day lastMonth  valid">30</div></td><td><div time="1512082969812" data-tooltip="" class="day toMonth  valid">1</div></td><td><div time="1512169369812" data-tooltip="" class="day toMonth  valid">2</div></td></tr>
 <tr><td><div time="1512255769812" data-tooltip="" class="day toMonth  valid">3</div></td><td><div time="1512342169812" data-tooltip="" class="day toMonth  valid">4</div></td><td><div time="1512428569812" data-tooltip="" class="day toMonth  valid">5</div></td><td><div time="1512514969812" data-tooltip="" class="day toMonth  valid">6</div></td><td><div time="1512601369812" data-tooltip="" class="day toMonth  valid">7</div></td><td><div time="1512687769812" data-tooltip="" class="day toMonth  valid">8</div></td><td><div time="1512774169812" data-tooltip="" class="day toMonth  valid">9</div></td></tr>
 <tr><td><div time="1512860569812" data-tooltip="" class="day toMonth  valid">10</div></td><td><div time="1512946969812" data-tooltip="" class="day toMonth  valid">11</div></td><td><div time="1513033369812" data-tooltip="" class="day toMonth  valid">12</div></td><td><div time="1513119769812" data-tooltip="" class="day toMonth  valid real-today">13</div></td><td><div time="1513206169812" data-tooltip="" class="day toMonth  valid">14</div></td><td><div time="1513292569812" data-tooltip="" class="day toMonth  valid">15</div></td><td><div time="1513378969812" data-tooltip="" class="day toMonth  valid">16</div></td></tr>
 <tr><td><div time="1513465369812" data-tooltip="" class="day toMonth  valid">17</div></td><td><div time="1513551769812" data-tooltip="" class="day toMonth  valid">18</div></td><td><div time="1513638169812" data-tooltip="" class="day toMonth  valid">19</div></td><td><div time="1513724569812" data-tooltip="" class="day toMonth  valid">20</div></td><td><div time="1513810969812" data-tooltip="" class="day toMonth  valid">21</div></td><td><div time="1513897369812" data-tooltip="" class="day toMonth  valid">22</div></td><td><div time="1513983769812" data-tooltip="" class="day toMonth  valid">23</div></td></tr>
 <tr><td><div time="1514070169812" data-tooltip="" class="day toMonth  valid">24</div></td><td><div time="1514156569812" data-tooltip="" class="day toMonth  valid">25</div></td><td><div time="1514242969812" data-tooltip="" class="day toMonth  valid">26</div></td><td><div time="1514329369812" data-tooltip="" class="day toMonth  valid">27</div></td><td><div time="1514415769812" data-tooltip="" class="day toMonth  valid">28</div></td><td><div time="1514502169812" data-tooltip="" class="day toMonth  valid">29</div></td><td><div time="1514588569812" data-tooltip="" class="day toMonth  valid">30</div></td></tr>
 <tr><td><div time="1514674969812" data-tooltip="" class="day toMonth  valid">31</div></td><td><div time="1514761369812" data-tooltip="" class="day nextMonth  valid">1</div></td><td><div time="1514847769812" data-tooltip="" class="day nextMonth  valid">2</div></td><td><div time="1514934169812" data-tooltip="" class="day nextMonth  valid">3</div></td><td><div time="1515020569812" data-tooltip="" class="day nextMonth  valid">4</div></td><td><div time="1515106969812" data-tooltip="" class="day nextMonth  valid">5</div></td><td><div time="1515193369812" data-tooltip="" class="day nextMonth  valid">6</div></td></tr></tbody> </table>

本质上是一个表,列出了预选月份的所有日期。我需要selenium和python一起选择并单击其中一天

我已经尝试了几种选择,目前我正在尝试以下方法:

days = driver.find_element_by_class_name("month1")
days.find_element_by_xpath(".select[@td='6']").click()

问题是我不能仅仅基于单个属性进行选择,因为网页中有一个相同的month2表。我需要这个链接来引用month1

谢谢


Tags: divdatatimetabletrclasstdvalid
1条回答
网友
1楼 · 发布于 2024-06-02 17:51:06

您可以通过在表达式前面加上.//,在“month1”中“范围”搜索:

days.find_element_by_xpath(".//td[div='6']").click()

注意,这里我正在检查div元素的文本,该元素保存单元格的day值

相关问题 更多 >