多个类的find_element_by_class_name

Kas*_*per 1 python api django selenium parsing

Python / Django API中的Selenium具有功能driver.find_element / elements_by_class_name(),但未编写是否可用于多个类。我需要选择具有bj,bd,bi等多个类的元素。

Gau*_*hah 7

答案是否定的,您不能使用driver.find_element_by_class_name ()driver.find_elements_by_class_name ()使用多个类名。它仅接受单个类名。

但是,您可以使用find_elements_by_xpathfind_element_by_css_selector方法来实现查找具有多个类名称的元素。

例如下面的代码将使用两个不同的类名在Google网站上查找元素。

url= "http://google.com"
driver = webdriver.Chrome()
driver.get(url)
driver.find_elements_by_xpath("//*[@class='sfibbbc' or @class='jsb']")
# Following line will result in error 
driver.find_elements_by_class_name("sfibbbc jsb")
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考 @1234 在 python 中的建议如下:`driver.find_elements_by_css_selector(".sfibbbc.jsb")` (2认同)