jueves, 10 de noviembre de 2016

scroll To Element con Selenium

Problemática: A veces hay elementos que se encuentran pero no se ejecuta su acción (como el click) cuando utilizo RemoteWebDriver. Una vez estudiado el problema he visto que en ciertos casos extraños si el elemento en cuestión no está en la zona visible del navegador, Selenium encuentra el objeto pero no puede realizar ninguna acción.
Para solucionar/evitar este problema se puede ejecutar javascript que haga scroll hasta el elemento deseado, así siempre será visible y se podrán hacer acciones sobre él.

Este sería el metodo a utilizar:

public static void scrollToElement(WebDriver driver, WebElement element) { JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver; javascriptExecutor.executeScript("arguments[0].scrollIntoView(true);", element); }