Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

454
Visualizações
¿Cómo puedo agregar un atributo a un elemento html por valor de identificación (python matraz lxml)

Me gustaría agregar un atributo de valor a varios elementos de entrada. Actualmente, simplemente estoy usando un reemplazo que funciona pero es engorroso. ¿Hay alguna manera de encontrar un elemento por su atributo ID y simplemente agregar un atributo de valor?

 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 + '">')

¿Hay alguna manera de hacer esto sin complicar demasiado las cosas?

EDITAR: Encontré este ejemplo en la documentación de lxml.html que me animó a hacer esto:

 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

Pero sigo recibiendo un error sobre devolver un byte cuando debería ser una cadena.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Ya que está utilizando render_template , simplemente puede usar Jinja

Jinja lo ayuda a representar sus datos donde quiera en la página html de manera segura y sin necesidad de instalar nada, ya que el método render_template ya lo usa.

Debe especificar algo como un marcador de posición en su archivo html y luego pasarle un valor como palabra clave a render_template

necesitas poner esto en tu archivo HTML

 <input value="{{company}}" 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)" >

Ahora Jinja buscará una palabra clave (de lo que ha pasado) llamada empresa y sustituirá su valor en el lugar pf {{company}}

para pasar el valor a Jinja simplemente use esta línea en su código python

 company_value = "Some Value" page = render_template('template.html', company=company_value)

Ahora, cuando Jinja vea {{company}} , lo reemplazará con el valor pasado, que es el valor de company_value = "Some Value"

Tenga en cuenta que puede pasar tantos valores como desee


Jinja tiene más funciones que lo ayudan a procesar sus datos como:

  • bucles
  • si otras declaraciones
  • y mucho más

Consulta esta documentación para echar un vistazo rápido a Jinja

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda