我正在写一个Python脚本来自动化一个约会预订过程使用 selenium WebDriver。我想能够知道当一个约会是可用的,并点击可用的日期。
我做了一个定制的XPath来去除所有的禁用日期,但是我不知道如何得到关于约会可用的通知并单击它。
这行吗?
all_dates = driver.find_elements(By.XPATH, "//div[@class='datepicker-days']/table/tbody/tr/td")
for date in all_dates:
if date !== driver.find_elements(By.XPATH, "//div[@class='datepicker-days']/table/tbody/tr/td[(contains(@class, 'disabled'))]"):
date.click()
break
else:
driver.refresh()
下面是日期选择器的快照沿着html代码。snapshot
1条答案
按热度按时间af7jpaap1#
在没有看到页面或页面的DOM结构的更多信息的情况下,我们将不得不猜测。我会假设,由于您有一个XPath过滤出禁用日期,您只需使用
find_element()
而不是find_elements()
来选择列表中返回的第一个元素。此外,我认为您应该能够使用not()
和contains()
来简化XPath。这里不需要XPath。CSS选择器更短,更容易阅读。