使用Python的Selenium - 查找多个CSS类的元素
我需要查找一组有不同CSS类的项目,但希望它们能以一个单一的列表返回,这样我就可以遍历这个列表。在下面的例子中,我需要把所有四个项目都拿到。
<li class="dropdown">
<li class="dropdown">
<li class="dropdown">
<li class="dropdown right">
我尝试了下面的几种写法,但都没有成功。
menuItems = browser.find_elements_by_xpath('//li[@class="dropdown"|@class="dropdown right"]')
menuItems2 = browser.find_element_by_class_name('dropdown' | 'dropdown right')
相关文章:
- 暂无相关问题
1 个回答
0
你需要使用 find_elements_by_class_name
或者 find_elements_by_css_selector
这个方法。它会返回一个数组,然后你可以像这样浏览这些元素:
elements = driver.find_elements_by_css_selector(".dropdown")
# or
elements = driver.find_elements_by_class_name("dropdown")
# elements[0]
# elements[1]
# ...
如果你想要那些同时拥有 .dropdown
和 .right
这两个CSS类的元素,那么可以这样做:
elements = driver.find_elements_by_css_selector(".dropdown.right")
# elements[0]
# elements[1]
# ...