我想通过html选择器从www.example.com获取一系列事件python.org
from selenium import webdriver
from selenium.webdriver.common.by import By
chrome_driver_path = "C:\development\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_driver_path)
driver.get("https://python.org")
event_time = driver.find_element(By.CLASS_NAME, ".event-widget time")
for time in event_time:
print(time.text)
2条答案
按热度按时间mznpcxlj1#
定位器类型错误,它应该是
CSS_SELECTOR
而不是CLASS_NAME
,此外,您必须提到find_elements
而不是find_element
:输出:
y53ybaqx2#
关于无效选择器异常:
当XPath或CSS选择器不符合XPath或CSS规范时,Selenium将引发InvalidSelectorException。换句话说,当传入Selenium WebDriver的选择器引擎无法解析的选择器时,将发生InvalidSelectorException。将元素检索命令与未知的Web元素选择器策略一起使用时,将发生这种情况
在您的示例中,我在整个HTML结构中没有看到任何名为***. event-widget time***的类属性。
请尝试使用一些其他定位器,如ID、名称或XPath。如果您指定使用ClassName,请确保Web元素的class属性在您的代码中准确匹配。