我有以下html:
<h4>Testing</h4>
<h3>Test</h3>
<h3>Test2</h3>
<h4>Testing2</h4>
如果我在变量中引用了元素<h3>Test2</h3>
,我该如何找到<h4>Testing</h4>
? 之前引用的元素,而不是之后。
答案 0 :(得分:9)
element.previous_sibling
或者,.find_previous_sibling()
明确找到前一个h4
标记:
element.find_previous_sibling('h4')
演示:
>>> from bs4 import BeautifulSoup
>>> data = """
... <h4>Testing</h4>
... <h3>Test</h3>
... <h3>Test2</h3>
... <h4>Testing2</h4>
... """
>>> soup = BeautifulSoup(data)
>>> element = soup.find('h3', text='Test')
>>> element.find_previous_sibling('h4')
<h4>Testing</h4>