为什么我的 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/