2015-06-24 61 views
-1

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

考虑以下HTML片段:

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

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

但我需要两个类在那里。

是否有表达式?

回答

2

您可以链接类选择器。 .foo.bar装置仅选择具有两个类foo和类bar

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

按照CSS Spec,以下规则任何div元素,其class属性已经指定了包括foobar空间分隔值的匹配列表:

div.foo.bar 

BeautifulSoup也遵循该规范,所以你可以使用:

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

顺便说元件...这是[文档中右](http://www.crummy.com/software/BeautifulSoup/bs4/doc /#搜索按CSS类) – rnevius