python - CSS 选择器没有选择?

标签 python css select beautifulsoup

为什么我的 s.select("li") 语句没有选择代码?我怎样才能让它被选中?

print type(s)
print s
if not s.select("li"): print 'lol!'

输出:

<class 'bs4.element.Tag'>
<li id="330811110-hlshE">1</li>
lol!

最佳答案

select() 在对象内部搜索(可以是Soup 对象以及Tag ) 你调用它,并且在 s 中没有要查找的 li 元素。另一方面,这有效:

print type(t)
print t
print t.select("li")
if not t.select("li"): print 'lol!'

# outputs:
<class 'bs4.element.Tag'>
<ul><li id="330811110-hlshE">1</li></ul>
[<li id="330811110-hlshE">1</li>]

如果你想测试一个Tag对象是否一个特定的元素,而不是它是否包含一个元素,只需测试它的name属性:

if s.name == "li": print "yep"

# outputs:
yep

关于python - CSS 选择器没有选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19985216/

相关文章:

css - 过滤器 : progid:DXImageTransform. Microsoft.AlphaImageLoader

css - 我怎么能只在一个页面中使用我的 css 样式而不使用其他样式?

css - 跨浏览器透视解决方案?

c++ - 为什么非阻塞套接字在 connect() 或 accept() 之前是可写的?

database - Erlang Mnesia 等效于 SQL Select FROM WHERE Field IN (value1, value2, value3, ...)

python 使用正则表达式创建新列

python - 当尝试编辑在 django 中创建的新配置文件时

python - 如何将巨大的 Pandas 数据框保存到 hdfs?

mysql - 提取缺失数据的结果

python - Django 中的 JSON 对象数组解析