为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过Selenium和Python按照给定的HTML提取跨度旁边的img标题

如何通过Selenium和Python按照给定的HTML提取跨度旁边的img标题

大话西游666 2021-05-13 18:19:19
我正在进行网络爬网以检查一种可用性。我想检查特定时间的标题。但是,如果标题为“ NO”,则没有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>
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

根据您共享的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")


查看完整回答
反对 回复 2021-05-25
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

如果文字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元素的属性是否为“是”-

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")



查看完整回答
反对 回复 2021-05-25
  • 2 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号