如何添加元素到美丽的汤元素

时间:2014-08-07 15:44:47

标签: python beautifulsoup

如果我有这样的bs4元素,则称为 tab_window_uls [1]

<ul>
<li><b>Cut:</b> Sits low on the waist.</li>
<li><b>Fit:</b> Skinny through the leg.</li>
<li><b>Leg opening:</b> Skinny.</li>
</ul>

如何将新<li>添加到<ul>

目前我的代码如下:

lines = ['a', 'b']

li_tag = tab_window_uls[1].new_tag('li')
for i in lines:
    li_tag.string = i
    tab_window_uls[1].b.string.insert_before(li_tag)

1 个答案:

答案 0 :(得分:0)

你必须像我一样创建一个新标签,并在ul中插入该标签。我加入汤,创建一个标签。将该标记附加到另一个标记内。 (<b>标记内的<li>标记。然后加载ul标签。并将新创建的li标签插入树中的任何位置。注意:如果你想让它成为列表中的最后一个li,你最后就不能拥有它,请使用append。

from bs4 import BeautifulSoup

htmlText = '''
<ul>
<li><b>Cut:</b> Sits low on the waist.</li>
<li><b>Fit:</b> Skinny through the leg.</li>
<li><b>Leg opening:</b> Skinny.</li>
</ul>
'''
bs = BeautifulSoup(htmlText)

li_new_tag = bs.new_tag('li')
li_new_tag.string = 'Size:'
b_new_tag = bs.new_tag('b')
b_new_tag.string = '0 through 12.'
li_new_tag.append(b_new_tag)

tags = bs.ul
tags.insert(1, li_new_tag)
print bs.prettify()