2013-11-14 2 views
2

s.select("li") 문이 코드를 선택하지 않는 이유는 무엇입니까? 그것을 선택하려면 어떻게해야합니까?CSS 선택자가 선택하지 않습니까?

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

OUTPUT : (뿐만 아니라 TagSoup 객체가 될 수 있습니다)

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

답변

1

select() 검색 내부의 객체 당신이 그것을 호출하고 더 li 요소를 찾을 s 내부 없다 . 이것은, 다른 한편으로는, 작동 :

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 
관련 문제