Python Selenium的按类名查找元素不起作用,我不明白为什么

Python Selenium的按类名查找元素不起作用,我不明白为什么,python,selenium,selenium-webdriver,web-scraping,webdriver,Python,Selenium,Selenium Webdriver,Web Scraping,Webdriver,我对网络抓取技术非常陌生,所以如果我犯了一个愚蠢的错误,请原谅我 从这个网站上,我试图设置一个通知程序,当日历上的某个时间段可用时通知我。如果您在“选择服务”下选择选项B,在“选择位置”下选择任何位置,您可以看到我所说的日历 下图中是日历的HTML,您可以看到可单击日期和不可单击日期的类。对于不可单击的灰显日期,该类为v-btn v-btn-active v-btn-floating v-btn-disabled主题灯;对于可单击的日期,该类为v-btn v-btn-active v-btn-f

我对网络抓取技术非常陌生,所以如果我犯了一个愚蠢的错误,请原谅我

从这个网站上,我试图设置一个通知程序,当日历上的某个时间段可用时通知我。如果您在“选择服务”下选择选项B,在“选择位置”下选择任何位置,您可以看到我所说的日历

下图中是日历的HTML,您可以看到可单击日期和不可单击日期的类。对于不可单击的灰显日期,该类为v-btn v-btn-active v-btn-floating v-btn-disabled主题灯;对于可单击的日期,该类为v-btn v-btn-active v-btn-floating主题灯

下面是我用来抓取类名为v-btn v-btn-active v-btn-floating v-btn-disabled主题灯的日期的代码:

driver = webdriver.Chrome()
driver.get('https://onlinebusiness.icbc.com/qmaticwebbooking/#/')

result = driver.find_elements_by_class_name('v-btn v-btn--active v-btn--floating v-btn--disabled theme--light')
print(result)
上面的代码只是简单地打印“[]”,即使其中显然有它正在搜索的类名的元素。正在寻求有关解决此问题的帮助


这是我的整个程序,如果你想看的话,其他的都可以:

我相信你不能用带空格的类名。尝试使用css_选择器。对于每个类名(如果是子类)添加。在类名前面,如果类位于同一级别,则将空格替换为。。头等舱也必须以..开头。。例如result=driver.find_elements_by_css_selector'.v-btn.v-btn-active.v-btn-floating.v-.btn-disabled.theme-light'您还应该尝试Xpath。它将工作在任何方式与准确和快速的结果!我会使用Xpath,但我不知道要选择哪些日期。这取决于日期是否有空位。@NicLaforge我试过你说的。问题是“return”中的值只有一个项目长,即使我要查找的给定类有很多日期。如何使“result”包含所有具有所提供css的元素。此外,这就是return的含义->[]我不确定它是否真的指向我试图获取的元素。@crescendo01确保只添加所需的类。只选择有意义的类。强烈反对使用xPath。它的速度较慢,而且每次UI开发人员更改代码时都会中断。刚刚查看了网站,我没有在所有项目上看到v-btn-active。只有选定的一个。如果要查找所有日期,可以使用:“.v-picker按钮”。如果只查找可单击的日期,请尝试:.v-picker按钮:not.v-btn-disabled。第二步将选择数据选择器下的所有按钮,这些按钮不具有类v-btn-DISABLED,我认为您不能将类_名称与空格一起使用。尝试使用css_选择器。对于每个类名(如果是子类)添加。在类名前面,如果类位于同一级别,则将空格替换为。。头等舱也必须以..开头。。例如result=driver.find_elements_by_css_selector'.v-btn.v-btn-active.v-btn-floating.v-.btn-disabled.theme-light'您还应该尝试Xpath。它将工作在任何方式与准确和快速的结果!我会使用Xpath,但我不知道要选择哪些日期。这取决于日期是否有空位。@NicLaforge我试过你说的。问题是“return”中的值只有一个项目长,即使我要查找的给定类有很多日期。如何使“result”包含所有具有所提供css的元素。此外,这就是return的含义->[]我不确定它是否真的指向我试图获取的元素。@crescendo01确保只添加所需的类。只选择有意义的类。强烈反对使用xPath。它的速度较慢,而且每次UI开发人员更改代码时都会中断。刚刚查看了网站,我没有在所有项目上看到v-btn-active。只有选定的一个。如果要查找所有日期,可以使用:“.v-picker按钮”。如果只查找可单击的日期,请尝试:.v-picker按钮:not.v-btn-disabled。这一秒将选择数据选择器下未禁用v-btn类的所有按钮