Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

427
Vistas
JavaScriptException en el método execute_script
def send(self, message): try: textArea = self.driver.find_element_by_xpath("//textarea[@placeholder='Message...']") textArea.clear() self.driver.execute_script("arguments[0].value='" + message + "'", textArea) # Error right here textArea.send_keys(Keys.SPACE) sendButton = self.driver.find_element_by_xpath("//button[contains(text(), 'Send')]").click() except NoSuchElementException or StaleElementReferenceException as ex: print("Исключение в send()") print(ex)

Hasta este punto, la quinta línea funcionó, pero ahora no puedo entender cuál es el problema. Y las variables tienen valores correctos.

 File "D:\PROJECTS\BLD_Project\main.py", line 187, in send self.driver.execute_script("arguments[0].value='" + message + "'", textArea) File "D:\PROJECTS\INST\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 878, in execute_script return self.execute(command, { File "D:\PROJECTS\INST\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute self.error_handler.check_response(response) File "D:\PROJECTS\INST\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.JavascriptException: Message: javascript error: Unexpected identifier
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Parece que te estás encontrando con problemas para escapar. Si message contiene un carácter de comillas, por ejemplo, O'Hara , terminará con un error de sintaxis en el código JavaScript ejecutado:

 arguments[0].value='O'Hara'

La solución es usar la matriz de arguments que ya está usando, para pasar también la cadena del message :

 self.driver.execute_script("arguments[0].value = arguments[1]", textArea, message)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Suponiendo message es una cadena, puede usar setAttribute dentro execute_script como se muestra a continuación:

 textArea = self.driver.find_element_by_xpath("//textarea[@placeholder='Message...']") self.driver.execute_script(f"arguments[0].setAttribute('value', '{message}')", textArea)

para pasar la variable del message al elemento web textArea .

Actualizar:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda