有人能帮助如何提取所有包含"不可用。日期";在下面的例子中:aria标签=";不可用。2020年6月4日";
> <td class="CalendarDay CalendarDay_1 CalendarDay__defaultCursor
> CalendarDay__defaultCursor_2 CalendarDay__default
> CalendarDay__default_3 CalendarDay__highlighted_calendar
> CalendarDay__highlighted_calendar_4 CalendarDay__blocked_calendar
> CalendarDay__blocked_calendar_5 CalendarDay__blocked_out_of_range
> CalendarDay__blocked_out_of_range_6" role="button"
> aria-disabled="true" aria-label="Not available. 4 June 2020"
> tabindex="-1" style="width: 39px; height: 38px;">2</td>
我试过这种
driver.find_elements_by_class_name('CalendarDay CalendarDay_1 CalendarDay__defaultCursor CalendarDay__defaultCursor_2 CalendarDay__default CalendarDay__default_3 CalendarDay__highlighted_calendar CalendarDay__highlighted_calendar_4 CalendarDay__blocked_calendar CalendarDay__blocked_calendar_5 CalendarDay__blocked_out_of_range CalendarDay__blocked_out_of_range_6').get_attribute('aria-label')
但不起作用。
这不是迄今为止最好的解决方案,我会尝试找到更具体的解决方案。但根据你提供的数据,这也应该有效。
from selenium.webdriver.common.by import By
labels = driver.find_elements(By.XPATH, "//td[contains(text(), 'Not available.')]")
texts = [l.get_attribute("aria-label") for l in labels]