Skip to content

Possível melhor forma de "mover", "rolar página", ou "dar scroll" até um elemento

ThiagoNicolielo edited this page Jun 24, 2016 · 2 revisions

Problema: Em um projeto específico, notei que a utilização de uma implementação em JavaScript para mover / dar scroll, na verdade não funcionava muito bem em algumas situações.

Procuro utilizar o método moveToElement da classe Actions do selenium, da seguinte forma:

Actions actions = new Actions(webDriver);
// Simula o pressionamento da tecla "HOME" do teclado, para que no próximo passo a página seja rolada até o elemento informado em "Element_do_DBehave_Desejado".
actions.sendKeys(Keys.HOME).perform();
actions.moveToElement(Element_do_DBehave_Desejado).click().perform();

Evitando usar, portanto:

JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript("javascript:window.scrollBy(" + Element_do_DBehave_Desejado.getLocation().x + "," + Element_do_DBehave_Desejado.getLocation().y + ")");
Element_do_DBehave_Desejado.click();