我只有一个标签
我需要在它之前添加三个具有不同文本的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)但它只是添加了最后一个变量,有没有更好的方法来做到这一点,而不是声明多个变量?
发布于 2019-03-04 14:39:58
问题是您只创建了一个标记,然后重复修改它的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)https://stackoverflow.com/questions/54977499
复制相似问题