Selenium python,使用css只选择两个类
Posted
技术标签:
【中文标题】Selenium python,使用css只选择两个类【英文标题】:Selenium python, use css to select only two class 【发布时间】:2021-08-26 16:55:37 【问题描述】:假设我有一个如下所示的 html:
<div class="first second">
Right!
</div>
<div class="first second third fourth">
Wrong!
</div>
<div class="first second">
Right!
</div>
如果我尝试使用 css 定位第一个和第三个 div:
driver.find_elements_by_class_name("first, second")
我没有在我的列表中获得 2 个元素,而是获得了所有三个 div,因为第二个 div 实际上包含这些类和其他一些......我该如何限制它,只找到 <div>
s :
class = "first second"
【问题讨论】:
你有什么标签包含first, second
第三个标签也包含同样的东西。
你不能使用 Xpath?
【参考方案1】:
如果您需要通过 xpath 获取它们,可以使用它:
driver.find_elements_by_xpath(".//div[@class='first second']")
【讨论】:
【参考方案2】:div[class = 'first second']
应该可以。因为它是完全匹配的。
与CSS_SELECTOR
一起使用
driver.find_elements(By.CSS_SELECTOR , "div[class = 'first second']")
【讨论】:
以上是关于Selenium python,使用css只选择两个类的主要内容,如果未能解决你的问题,请参考以下文章
Selenium-python 中的 css 选择器中的括号 [?] 的问题
selenium-51job自动化测试(css选择器选择元素)