Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

452
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!