Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Llamar función Javascript de una página web con Python
#1
Hola gente,
   necesito llamar con python una función javascript que se encuentra en una página html en una dirección web pasándole como parámetro el número 0. Esta función puede ser llamada al interno de la página con una tecla que tiene en el código html de sus tag la acción "onclick = funcion(numero)".
Por lo tanto necesito:

1- leer la página web
2- llamar la función "tx" (como si ubiese apretado la tecla en la página) periodicamente pasándole como parametro el numero 0
3- leer la respuesta de la función "tx" que se encuentrará en un tag con el ID "respuesta"

La página en cuestión usa Ajax para dialogar con el server a través de la función Javascript citada.

Les pido paciancia porque no conozco el tema específico, he leído que quizás se necesite las lib urllib y beautifulsoup
Muchas gracias anticipadamente. Smile
Responder
#2
Hola Gabriel, ¿cómo estás?

El problema es que para llamar a una función de JavaScript necesitás una librería que interprete código de ese lenguaje. Ni urllib, ni Requests, ni BeautifulSoup hacen eso. Las primeras dos se limitan a hacer peticiones vía HTTP; la última sirve para trabajar con HTML.

Como alternativa, si la función simplemente hace una petición vía AJAX a otra dirección de URL, podés hacer eso mismo por tu cuenta usando Requests/urllib (tendrías que ojear el código para ver exactamente cómo funciona); esta es mi recomendación. Otra solución posible es usar el motor web de Qt que interpreta JavaScript para efectivamente llamar a la función; te dejo como ejemplo estos dos artículos: https://recursospython.com/codigos-de-fu...on-pyqt-5/ y https://recursospython.com/codigos-de-fu...ube-pyqt4/. El último es para PyQt 4 pero ilustra cómo evaluar un código de JavaScript.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Hola Francisco,
 te agradezco mucho por tu respuesta. He resuelto el problema en otro modo: como el código del server lo puedo modificar con php genero un pequeño file de texto que guardo en el server cuando llega la petición ajax y garcias a urlib di python lo voy a leer.
Nuevamente gracias. Smile
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)