2024-04-28 08:43:50 发布
网友
当只有文本是公共标识符时,是否可以从DOM中的当前位置上下移动?在
<div>changing text</div> <div>fixed text</div>
当搜索fixed text并向上移动到父div时,如何获得文本changing text?在
fixed text
changing text
我尝试了:
此程序可以执行您想要的操作:
from bs4 import BeautifulSoup import re html = '<body><div>changing text</div><div>fixed text</div><body>' soup = BeautifulSoup(html) x = soup.body.findAll(text=re.compile('fixed text'))[0].parent.previous_sibling assert x.text == 'changing text'
出现错误是由于调用ResultSet中的parent一个结果列表。如果需要多个结果,请尝试:
parent
x = soup.body.find_all(text=re.compile('fixed text')) for i in x: previous_div = i.previous_sibling
如果不想查找多个结果,只需将“查找全部”更改为“查找”:
请注意,我将parent替换为previous-sibling,因为div在同一级别
此程序可以执行您想要的操作:
出现错误是由于调用ResultSet中的
parent
一个结果列表。如果需要多个结果,请尝试:如果不想查找多个结果,只需将“查找全部”更改为“查找”:
^{pr2}$请注意,我将parent替换为previous-sibling,因为div在同一级别
相关问题 更多 >
编程相关推荐