如何通过Selenium和Python根据给定的HTML提取span旁边的img标题

2024-04-20 06:27:40 发布

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

我正在做一个网页爬行检查一种可用性。 我想查一下具体时间的标题。但是,如果标题为“否”,则不存在href,否则存在href。因此,它的xpath依赖于标题。标题名称每次都会更改。所以我不能用xpath检查。你知道吗

如果我想查看09:00~11:00的可用性,怎么办?你知道吗

我试着通过XPATH找到。但是,由于XPATH如我所说的那样发生了变化,所以我无法检查所需的具体时间。你知道吗

提前谢谢。你知道吗

下面是HTML代码。你知道吗

<span class="rs">07:00~09:00</span><img src="../images/reservation_btn04.gif" title="NO"><br>
<span class="rs">09:00~11:00</span><img src="../images/reservation_btn04.gif" title="NO"><br>
<span class="rs">11:00~13:00</span><img src="../images/reservation_btn04.gif" title="NO"><br>
<span class="rs">13:00~15:00</span><a href="./reg_add.asp?regdate=2018-09-16&amp;ftime=4&amp;ftype=1&amp;fac=C"><img src="../images/reservation_btn03.gif" title="YES"></a><br>
<span class="rs">15:00~17:00</span><a href="./reg_add.asp?regdate=2018-09-16&amp;ftime=5&amp;ftype=1&amp;fac=C"><img src="../images/reservation_btn03.gif" title="YES"></a><br>
<span class="rs">17:00~19:00</span><a href="./reg_add.asp?regdate=2018-09-16&amp;ftime=6&amp;ftype=1&amp;fac=C"><img src="../images/reservation_btn03.gif" title="YES"></a><br>
<span class="rs">19:00~21:00</span><img src="../images/reservation_btn04.gif" title="NO"><br>

Tags: nobrsrc标题imgtitlegifclass
2条回答

根据您共享的HTML检查任何时间段的可用性,例如09:00~11:00您可以使用以下解决方案:

  • 您可以创建一个function(),它将一个参数作为时间跨度,并按如下方式提取可用性

    def check_availability(myTimeSpan):
        print(driver.find_element_by_xpath("//span[@class='rs'][.='" + myTimeSpan + "']//following::img[1]").get_attribute("title"))
    
  • 现在,您可以使用以下任意时间跨度调用函数check_availability()

    check_availability("09:00~11:00")
    

如果文本09:00~11:00是固定的,您可以像这样定位img元素-

element = driver.find_element_by_xpath("//span[@class='rs' and contains(text(),'09:00~11:00')]/following-sibling::img")

要检查元素的title属性是否为“YES”-

if element.get_attribute("title") == 'YES':
    // do whatever you want

要获取所需元素的href属性-

source = driver.find_element_by_xpath("//span[@class='rs' and contains(text(),'09:00~11:00')]/following-sibling::img[@title='YES']/preceding-sibling::a").get_attribute("href")

相关问题 更多 >