【问题标题】:CSS Selector not Selecting?CSS选择器不选择?
【发布时间】:2013-11-27 21:50:09
【问题描述】:

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

【问题讨论】:

    标签: python css select beautifulsoup


    【解决方案1】:

    select() 搜索 inside 您调用它的对象(可以是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
    

    【讨论】:

      猜你喜欢
      • 2011-09-11
      • 2010-10-18
      • 2012-02-06
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2015-11-07
      • 2017-07-05
      相关资源
      最近更新 更多