Css选择器,用于其值具有空格的属性

时间:2016-06-21 12:50:46

标签: python css beautifulsoup

我正在使用library_Beautiful Soup在python中编写代码,我想选择这个标签(使用CSS Selector):

<div>
...
  <div>
  ...
    <div style=" height:80px; width:700px; ">
     ...

我正在尝试:

soup.select('div div div[style*="height:80px; width:700px"]')

(CSS选择器在单引号内,即

 'div div div[style*="height:80px; width:700px"]')

但是这不会选择任何标签。

我也尝试过:

 soup.select('div div div[style*="height:80px;"][style*="width:700px"]')

但这也行不通。

我不被允许这样做:

 soup.select('div div div[style=" height:80px; width:700px "]')

因为它引发了一个错误,说这是一个无效的css选择器(在双引号开头之后或在不允许结束双引号之前的空格)。

有人可以建议我为这个标签使用正确的css选择器吗?

1 个答案:

答案 0 :(得分:1)

您可以使用find

.find("div", style=" height:80px; width:700px; "))

在选择中使用多个属性不适用于bs4,您也仅限于按属性搜索时可以传递的内容,您可以做的最好的选择是.select_one("div[style*=height:80px;]"[style*=width:700px;]"