2012-01-16 16 views
8

Tengo un botón en una página web que no WebDriver clic cuando estoy corriendo a través de IE - He probado las soluciones siguientes, pero sin suerte -selenio botón no hace clic con InternetExplorerDriver

Al hacer clic a través de javascript:

((JavascriptExecutor) driver).executeScript("$(arguments[0]).click()", webElement) 

SendKeys usando:

webElement.SendKeys(keys.Enter) 

utilizando la acción del constructor

Actions test = new Actions(driver); 
     test.moveToElement(webElement); 
     test.clickAndHold(); 
     test.release(); 
     test.build(); 
     test.perform(); 

Asegurarse de que la ventana es el activo, a continuación, hacer clic en el objeto padre, entonces el objeto en sí

El problema es que ninguno de ellos funciona. Revisé Firefox y Chrome y el script funciona bien. Confirmé que el elemento se encuentra al usar IE. ¿Hay alguna solución alternativa que pueda probar?

+0

¿Tiene una página de ejemplo donde se reproduce este problema? Podría valer la pena archivar esto como un error si funciona correctamente con los otros controladores. –

+0

Desafortunadamente, solo se puede reproducir en una aplicación interna. He logrado resolver el problema cambiando el foco de la ventana, forzando el desplazamiento, haciendo clic en el elemento principal, haciendo clic en el elemento y luego enviando Javascript. Obviamente exagerado en algún lugar, pero feliz de que esté funcionando. – Dave

+3

Creo que la ventana de IE debe estar en la parte superior y en foco para que las acciones de un lote funcionen correctamente. Al menos esa fue mi experiencia con eso. –

Respuesta

1

Si el botón es un botón de envío de formulario, puede usar: webElement.submit() en otro campo del formulario.

4

Parece que estás escribiendo para utilizar el estilo de JQuery haz clic ... el estilo normal de JavaScript debería funcionar.

Prueba esto:

((JavascriptExecutor) driver).executeScript("arguments[0].click();", webElement) 

siempre me encontré con éxito con el siguiente para hacer clic en un elemento en el IE.

  1. Si es una casilla de verificación/radio: webElement.click();
  2. Clickable elemento de entrada: webElement.sendKeys("\n");
  3. Para otros elementos, utilice el por encima de dicho estilo JS clic.
+0

¡Te abrazaría si pudiera! – Conner

+0

@Conner - Gracias, hiciste mi día :) – KrishPrabakar

Cuestiones relacionadas