"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo ejecuto código JavaScript desde Java WebDriver?

¿Cómo ejecuto código JavaScript desde Java WebDriver?

Publicado el 2024-11-08
Navegar:466

How do I Execute JavaScript code from Java WebDriver?

Ejecución de WebDriver JavaScript desde Java: una guía mejorada

El comando mencionado en la pregunta, ./go webdriverjs, es un comando de shell diseñado para configurar e inicializar el entorno WebDriverJs en una carpeta específica. Sin embargo, es importante tener en cuenta que WebDriverJs es un enlace de lenguaje que permite realizar pruebas de JavaScript en lugar de ejecutar fragmentos de JavaScript desde Java.

Para ejecutar código JavaScript dentro de Java WebDriver, utilice el siguiente enfoque:

WebDriver driver = new AnyDriverYouWant();
if (driver instanceof JavascriptExecutor) {
    ((JavascriptExecutor)driver).executeScript("yourScript();");
} else {
    throw new IllegalStateException("This driver does not support JavaScript!");
}

Como alternativa, considere:

WebDriver driver = new AnyDriverYouWant();
JavascriptExecutor js;
if (driver instanceof JavascriptExecutor) {
    js = (JavascriptExecutor)driver;
} // else throw...

// later on...
js.executeScript("return document.getElementById('someId');");

JavascriptExecutor ofrece documentación y capacidades extensas. En su método ejecutarScript(), puede ejecutar llamadas a funciones, JS sin formato, valores de retorno y pasar argumentos complejos.

Ejemplos:

  1. Obtener un elemento web como en driver.findElement( By.id("someId")):
js.executeScript("return document.getElementById('someId');");
  1. Visualización borde de un WebElement:
WebElement element = driver.findElement(By.anything("tada"));
js.executeScript("arguments[0].style.border='3px solid red'", element);
  1. Modificación de entradas de página para botones de opción:
js.executeScript(
         "var inputs = document.getElementsByTagName('input');"  
         "for(var i = 0; i 
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3