<p><code>.find_next_sibling</code>属性用于对HTML文档进行细粒度搜索。CSS选择器不能做的事情(它们可以选择标记,而不是标记之间的字符串,例如,不能用CSS选择器选择字符串<code>SELECT THIS</code>:<code><p>some text</p>SELECT THIS<p>some text</p></code>)</p>
<p>如果要搜索同级标记,请使用<code>find_next_sibling()</code>方法。您还可以通过将<code>text=True</code>参数传递给<code>find_next_sibling()</code>来模拟<code>.find_next_sibling</code>行为:</p>
<pre><code>data = '''
<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a>
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'html.parser')
link = soup.a
print(link) # <a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>
print(type(link.next_sibling)) # <class 'bs4.element.NavigableString'>
print(link.find_next_sibling()) # <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>
print(type(link.find_next_sibling(text=True))) # <class 'bs4.element.NavigableString'>
</code></pre>