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

156
Visualizações
Problema al cerrar una ventana secundaria usando Javascript en la automatización web

Estoy tratando de automatizar un proceso de navegador usando Selenium WebDriver.

El sitio web genera una serie de archivos descargables con un botón de enlace para cada uno. Al hacer clic en el botón de enlace, se abre una nueva ventana del navegador en la que se descarga el archivo. Pero la nueva ventana del navegador no está codificada para cerrarse.

Localicé la función JavaScript/jQuery OpenWindowUrl en la herramienta de desarrollo web de Chrome que abre la nueva ventana del navegador, y la esencia de la función se muestra a continuación.

Como puede ver, la función llama a otra función GetRootWin para abrir la nueva ventana del navegador y descargar el archivo, luego fuerza la nueva ventana del navegador al primer plano. Ojalá tuviera algunas líneas más para cerrarlo después de 3 segundos más o menos.

Dado que la variable wnd , que es el identificador de la nueva ventana del navegador, está dentro de la definición de la función, no puedo usarla en mi automatización para cerrar la ventana del navegador como wnd.close(); , porque wnd no está definido fuera de la función.

Aunque mi proceso de automatización funciona bien sin cerrar las ventanas secundarias, potencialmente me dejará abiertas más de 200 ventanas secundarias, lo que no es una buena idea.

¿Hay alguna manera de anular esta función OpenWindowUrl de modo que el sitio web llame a mi nueva OpenWindowUrl ? En caso afirmativo, puedo ejecutar mi nuevo fragmento para OpenWindowUrl usando IJavaScriptExecutor de Selenium antes de descargar los archivos. ¿O hay alguna forma de inyectar wnd.close(); en la función OpenWindowUrl ?

 $.extend(Namespace('NS'), { OpenWindowUrl: function (url, winName, parameters) { ... ... var wnd = NS.GetRootWin().open(url, winName, parameters); // Force the window into the foreground setTimeout(function () { wnd.focus(); }, 500); }, });
about 4 years ago · Juan Pablo Isaza
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