我有一个标签
我需要在它有不同的文本之前添加三个 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)
但它只添加了最后一个,是否有更好的方法来做到这一点而不声明多个变量?
问题是您只创建了一个标签,然后反复修改其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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句