【问题标题】:How to find two different class names using find_elements_by_css_selector如何使用 find_elements_by_css_selector 查找两个不同的类名
【发布时间】:2016-02-16 14:56:37
【问题描述】:

我似乎无法在网上找到答案。

这是一个sn-p的html代码:

<td>
    <div class="low-fare-day active"></div>
    <div class="low-prices"></div>
</td>
<td>
    <div class="low-fare-day"></div>
    <div class="low-prices1"></div>
</td>

下面是我的代码:

我想使用 css_selector 找到两个类 low-fare-day 和 low-fare-day.active,但无法正常工作。谁能帮我解决这个难题?

fromdata = driver.find_elements_by_css_selector('div.low-fare-day','div.low-fare-day.active')

fromdata = driver.find_elements_by_css_selector('div.low-fare-day' | 'div.low-fare-day.active')

【问题讨论】:

  • 你的意思是匹配两个类的元素,还是两者都匹配?如果两者都是,div.low-fare-day.active 应该作为选择器。
  • 是的,我需要匹配两个类。 div.low-fare-day.active 只返回一等奖“低价”。二等舱“low-fare-day”后面有空格导致它只返回一等奖吗?

标签: python-3.x selenium-webdriver


【解决方案1】:

试试看:

driver.find_elements_by_css_selector('div[class*=low-fare-day]')

解释:

div[class*=low-fare-day] -> 表示您正在寻找一个 div

div[class*=low-fare-day] -> 您正在选择之前选择的 div 内的类值来比较值

*=在课后意味着你将把所有相等或包含下一个值的东西都写出来

div[class*=low-fare-day] -> div 的类是否包含它时要比较的值

【讨论】:

    猜你喜欢
    • 2023-01-30
    • 2018-12-02
    • 2011-05-21
    • 2016-01-19
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    相关资源
    最近更新 更多