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

266
Visualizações
Cómo ejecutar el método executeScript a través de Java en Microsoft Edge a través de WebDriver

Estoy tratando de ejecutar el siguiente código en Microsoft Edge a través de WebDriver

 ExpectedCondition<Boolean> jsLoad = driver -> ((JavascriptExecutor) driver).executeScript("return document.readyState").toString().equals("complete"); JavascriptExecutor js = (JavascriptExecutor) getDriver(); boolean jsReady = (Boolean) js.executeScript("return document.readyState").toString().equals("complete");

Estamos obteniendo la siguiente excepción:

 Exception class:org.openqa.selenium.JavascriptException

La razón es:

 org.openqa.selenium.JavascriptException: javascript error: Function is not a constructor

Configuramos EdgeOptions como a continuación

 DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); desiredCapabilities.setBrowserName("MicrosoftEdge"); EdgeOptions edgeOptions = new EdgeOptions(); edgeOptions.setCapability("ms:inPrivate", true); edgeOptions.setCapability("prefs", edgePrefs); edgeOptions.setCapability("useAutomationExtension", false); edgeOptions.merge(desiredCapabilities); edgeOptions.setPageLoadStrategy("eager"); edgeOptions.setCapability("ms:inPrivate", true); edgeOptions.setCapability("useAutomationExtension", false); edgeOptions.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, true); edgeOptions.setCapability(CapabilityType.HAS_NATIVE_EVENTS, true); driver = new EdgeDriver(edgeOptions);

Alguna sugerencia

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

ejecutarScript()

Ejecuta JavaScript en el contexto del marco o ventana seleccionado actualmente. El fragmento de script proporcionado se ejecutará como el cuerpo de una función anónima. Dentro del script, use document para referirse al documento actual. Tenga en cuenta que las variables locales no estarán disponibles una vez que el script haya terminado de ejecutarse, aunque las variables globales persistirán. Si el script tiene un valor de retorno (es decir, si el script contiene una declaración de retorno), se seguirán los siguientes pasos:

  • Para un elemento HTML, este método devuelve un WebElement
  • Para un decimal, se devuelve un Doble
  • Para un número no decimal, se devuelve un Long
  • Para un booleano, se devuelve un booleano
  • Para todos los demás casos, se devuelve una cadena.
  • Para una matriz, devuelva una Lista con cada objeto siguiendo las reglas anteriores. Admitimos listas anidadas.
  • Para un mapa, devuelve Map<String, Object> con valores siguiendo las reglas anteriores.
  • A menos que el valor sea nulo o no haya un valor de retorno, en el que se devuelve nulo

Los argumentos deben ser un número, un valor booleano, una cadena, un elemento web o una lista de cualquier combinación de los anteriores. Se lanzará una excepción si los argumentos no cumplen con estos criterios. Los argumentos estarán disponibles para JavaScript a través de la variable mágica "argumentos", como si la función se llamara a través de "Función.aplicar".


este caso de uso

Si su caso de uso es esperar a que document.readyState sea igual para complete , puede inducir WebDriverWait de la siguiente manera:

 new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(d => ((IJavaScriptExecutor)d).ExecuteScript("return document.readyState").Equals("complete"));
about 4 years ago · Juan Pablo Isaza Relatório
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