我正在进行网络爬网以检查一种可用性。我想检查特定时间的标题。但是,如果标题为“ 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&ftime=4&ftype=1&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&ftime=5&ftype=1&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&ftime=6&ftype=1&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")

翻过高山走不出你
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")
添加回答
举报
0/150
提交
取消