es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Selenium — driver.execute_script() no funcionará.

Ejecuto un JavaScript con driver.execute_script pero NADA ocurre cuando lo hago. El sistema simplemente pasa a la siguiente línea de código de Python.

¿Alguna idea?
Web scraping en una página web, utilizando JavaScript en la consola para extraer datos. El script funciona perfectamente cuando yo lo coloco en la consola web.

JavaScript:

let email = '';
let contacts = document.querySelectorAll('div.contact-section');
for (let i = 0; i < contacts.length; i++) {
  if (contacts[i].getAttribute('automation-id') === 'contact-true-owner') {
    ele = contacts[i]
  }
}
let links = ele.querySelectorAll('address > a')
let last = links.length - 1;
email = links[last].innerText;
console.log(email);
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Hay algunas posibles razones por las cuales el código de JavaScript no se está ejecutando cuando se llama a través de driver.execute_script en Python:

    1. Errores de sintaxis: Asegúrese de que el código de JavaScript esté correctamente formateado y sin errores de sintaxis que puedan estar causando que el código falle silenciosamente.
    2. Problemas de tiempo: Asegúrese de que el JavaScript se esté ejecutando en el momento correcto por el controlador. A veces, los scripts pueden necesitar esperar a que ciertos elementos se carguen o se hagan visibles antes de ejecutarse correctamente.

    3. Problemas de alcance: Verifique que el código de JavaScript tenga acceso al alcance y las variables correctas, ya que es posible que no pueda acceder a ciertos objetos o elementos si se ejecuta en un contexto diferente al de la consola web.

    4. Restricciones de seguridad: Es posible que el navegador o controlador que se está utilizando tenga restricciones de seguridad que impidan que el código de JavaScript se ejecute correctamente.

    Para solucionar este problema, intente agregar declaraciones de depuración como console.log al script y vea la salida de la consola en las herramientas de desarrollo del navegador. Además, intente ejecutar declaraciones de JavaScript más simples para ver si se ejecutan correctamente y así poder acotar el problema.

Comments are closed.