【问题标题】:Match multiple CSS classes [duplicate]匹配多个CSS类[重复]
【发布时间】:2015-09-10 23:28:25
【问题描述】:

是否有用于匹配多个类的标签的选择表达式?

考虑以下 HTML sn-p:

<div id="top">
    <div class="foo bar"></div>
</div>

我可以将它与soup.select('div#top div.foo')soup.select('div#top div.bar') 匹配。

但我需要两个班级都在那里。

有没有这样的表达方式?

【问题讨论】:

    标签: python css-selectors beautifulsoup


    【解决方案1】:

    根据CSS Spec,以下规则匹配任何div 元素,其class 属性已分配一个空格分隔值列表,其中包括foobar

    div.foo.bar
    

    BeautifulSoup 也遵循此规范,因此您可以使用:

    soup.select('div#top div.foo.bar')
    

    【讨论】:

    【解决方案2】:

    您可以链接类选择器。 .foo.bar 表示只选择具有foo 类和bar 类的元素

    soup.select('div#top div.foo.bar')
    

    【讨论】:

      猜你喜欢
      • 2017-03-01
      • 2013-08-04
      • 2015-11-15
      • 2017-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 2014-04-15
      相关资源
      最近更新 更多