有没有办法在BeautifulSoup中找到siblings子树中的标签?这里的场景是我已经找到了一个我想要的标签,我需要抓住另一个标签,这个标签位于其兄弟的子树中。
等效的xpath是
for (i in 1:100){print(i+ Sys.sleep(0.15))}
#mytag ~ div span
#mytag ~ div span{
background: green;
color: white;
}
我可以使用<div id="mytag"></div>
<span>nope</span>
<div>
<span>foo bar</span>
</div>
查找所有兄弟姐妹,但不会搜索子树。有没有办法可以轻松完成?
答案 0 :(得分:1)
您可以使用接受CSS selector表达式的select()
轻松完成此操作:
mydiv.select("~ div span")
快速测试:
>>> from bs4 import BeautifulSoup
>>> raw = '''<div>
... <div id="mytag"></div>
... <span>nope</span>
... <div>
... <span>foo bar</span>
... </div>
... </div>'''
>>> soup = BeautifulSoup(raw, 'lxml')
>>> mydiv = soup.find("div", {"id": "mytag"})
>>> mydiv.select("~ div span")
[<span>foo bar</span>]