2

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

1 回答 1

1

select()在您调用它的对象(可以是对象也可以是 a )内部搜索,并且内部没有要查找的元素。另一方面,这有效:SoupTaglis

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
于 2013-11-14T20:57:09.687 回答