【发布时间】:2022-01-24 05:30:17
【问题描述】:
我想为多个输入元素添加一个值属性。目前,我只是使用一个可以工作但很麻烦的替换。有没有办法通过它的 ID 属性找到一个元素并简单地添加一个 value 属性?
page = render_template('template.html')
page = page.replace('<input type="text" class="form-control" id="Company" name="Company" placeholder="Company name" data-bs-toggle="tooltip" title="The name of the company that the document is for." onblur="titleCase(this)">',
'<input type="text" class="form-control" id="Company" name="Company" placeholder="Company name" data-bs-toggle="tooltip" title="The name of the company that the document is for." onblur="titleCase(this)" value="' + company + '">')
有没有办法做到这一点而不会使事情变得过于复杂?
编辑:我在 lxml.html 文档中找到了一个示例,鼓励我这样做:
def fillForm1(page, pDate, company, manager, cAddress, cPhone, cEmail ,sAddress):
form_page = fromstring(page)
form = form_page.forms[0]
form.fields = dict(
pDate=pDate,
Company=company,
Manager=manager,
cAddress=cAddress,
cPhone=cPhone,
cEmail=cEmail,
sAddress=sAddress
)
page = page.replace('<form method="post">', tostring(form, pretty_print=True, encoding='UTF-8', with_tail=False,))
return page
但是当它应该是一个字符串时,我一直收到一个关于将字节传回的错误。
【问题讨论】:
标签: html python-3.x flask lxml