如何在单个标签前添加多个标签

2024-04-18 21:26:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个标签 我需要添加三个a标签,然后才有不同的文本,我尝试了:

headTag = soup.find_all('h1', text='Attendance List')
aTag = soup.new_tag('a') 
aTag['class'] = "btn btn-default pull-right"
aTag.string = "Today"
headTag[0].insert_before(aTag)
aTag.string = "Weekly"
headTag[0].insert_before(aTag)
aTag.string = "Monthly"
headTag[0].insert_before(aTag)

但是它只是添加了最后一个变量,有没有更好的方法来实现这一点而不声明多个变量?你知道吗


Tags: text文本string标签allfindh1list
1条回答
网友
1楼 · 发布于 2024-04-18 21:26:37

问题是您只需要创建一个标记,然后反复修改其string属性,而不是创建三个单独的标记并插入所有标记。这就是为什么它只附加一个标记,以及为什么最终结果是最后一个字符串。你知道吗

要执行所需操作,请使用for循环并为每个字符串创建一个新标记,如下所示:

headTag = soup.find_all('h1', text='Attendance List')

for s in ["Today", "Weekly", "Monthly"]:
    aTag = soup.new_tag('a') 
    aTag['class'] = "btn btn-default pull-right"
    aTag.string = s
    headTag[0].insert_before(aTag)

相关问题 更多 >