Cómo desplazarse hacia abajo o hacia arriba en la página Selenium controlador web

Desplácese hacia adentro Selenium

Para desplazarse usando Selenium, puedes usar JavaInterfaz ScriptExecutor que ayuda a ejecutar JavaMétodos de script a través de Selenium controlador web

Sintaxis:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Guión – Este es el JavaScript que necesita ejecutarse.
  • Argumentos: son los argumentos del guión. Es opcional.

Selenium Script para desplazarse hacia abajo en la página

Veamos cómo desplazarse hacia abajo en una página web usando el controlador web Selenium con los siguientes 4 escenarios:

  • Escenario 1: desplazarse hacia abajo en la página web por píxel.
  • Escenario 2: Desplazarse hacia abajo en la página web según la visibilidad del elemento.
  • Escenario 3: desplazarse hacia abajo en la página web en la parte inferior de la página.
  • Escenario 4: Desplazamiento horizontal en la página web.

Escenario 1: desplazarse hacia abajo en la página web por píxel.

Selenium Guión

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPixel {

    WebDriver driver;
    @Test
    public void ByPixel() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/");

        //To maximize the window. This code may not work with Selenium 3 jars. If script fails you can remove the line below		
        driver.manage().window().maximize();

        // This  will scroll down the page by  1000 pixel vertical		
        js.executeScript("window.scrollBy(0,1000)");
    }
}

Guión Description: En el código anterior, primero iniciamos la URL proporcionada en el navegador Chrome. A continuación, desplácese por la página 1000 píxeles mediante ejecutarScript. Javascript El método ScrollBy() desplaza la página web hasta el número específico de píxeles.

La sintaxis de los métodos ScrollBy() es:

executeScript("window.scrollBy(x-pixels,y-pixels)");

Los píxeles x son el número en el eje x, se mueven hacia la izquierda si el número es positivo y se mueven hacia la derecha si el número es negativo. Los píxeles y son el número en el eje y, se mueven hacia abajo si el número es positivo y se mueve hacia arriba si el número es negativo.

Ejemplo:

js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels

Análisis de salida: Aquí está el resultado cuando ejecuta el script anterior.

Desplácese hacia abajo en la página web por píxel

Escenario 2: Desplazarse hacia abajo en la página web según la visibilidad del elemento.

Selenium Guión

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByVisibleElement {

    WebDriver driver;
    @Test
    public void ByVisibleElement() {
        System.setProperty("webdriver.chrome.driver", "G://chromedriver.exe");
        driver = new ChromeDriver();
        JavascriptExecutor js = (JavascriptExecutor) driver;

        //Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/");

        //Find element by link text and store in variable "Element"        		
        WebElement Element = driver.findElement(By.linkText("Linux"));

        //This will scroll the page till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

Guión Description: En el código anterior, primero iniciamos la URL proporcionada en el navegador Chrome. A continuación, desplácese por la página hasta que el elemento mencionado sea visible en la página actual. Javascript El método scrollIntoView() desplaza la página hasta que el elemento mencionado esté a la vista:

js.executeScript("arguments[0].scrollIntoView();",Element );

“argumentos[0]” significa el primer índice de la página que comienza en 0.

Donde un “Elemento” es el localizador en la página web.

Análisis de salida: Aquí está el resultado cuando ejecuta el script anterior.

Desplácese hacia abajo en la página web según la visibilidad del elemento

Escenario 3: desplazarse hacia abajo en la página web en la parte inferior de la página.

Selenium Guión

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPage {

    WebDriver driver;
    @Test
    public void ByPage() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/");

        //This will scroll the web page till end.		
        js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
    }
}

Guión Description: En el código anterior, primero iniciamos la URL proporcionada en el navegador Chrome. A continuación, desplácese hasta el final de la página. Javascript método scrollTo() desplazarse hasta el final de la página.

js.executeScript("window.scrollTo(0, document.body.scrollHeight)");

“document.body.scrollHeight” devuelve la altura completa del cuerpo, es decir, la página web.

Análisis de salida: Aquí está el resultado cuando ejecuta el script anterior.

Desplácese hacia abajo en la página web en la parte inferior de la página

Escenario 4: desplazamiento horizontal en la página web

Selenium Guión

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class HorizontalScroll {

    WebDriver driver;
    @Test
    public void ScrollHorizontally() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("http://demo.guru99.com/test/guru99home/scrolling.html");

        WebElement Element = driver.findElement(By.linkText("VBScript"));

        //This will scroll the page Horizontally till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

Guión Description: En el código anterior, primero iniciamos la URL proporcionada en el navegador Chrome. A continuación, desplácese por la página horizontalmente hasta que el elemento mencionado sea visible en la página actual. Javascript El método scrollIntoView() desplaza la página hasta que el elemento mencionado esté a la vista:

js.executeScript("arguments[0].scrollIntoView();",Element );

Análisis de salida: Aquí está el resultado cuando ejecuta el script anterior.

Desplazamiento horizontal en la página web

Más información sobre JavaEjecutor de secuencias de comandos

¿Qué es una barra de desplazamiento?

Una barra de desplazamiento le permite moverse por la pantalla en dirección horizontal o vertical si el desplazamiento de la página actual no se ajusta al área visible de la pantalla. Se utiliza para mover la ventana hacia arriba y hacia abajo.

Selenium Webdriver no requiere desplazamiento para realizar acciones mientras manipula DOM. Pero en determinadas páginas web, los elementos sólo se vuelven visibles una vez que el usuario se ha desplazado hasta ellos. En tales casos, puede ser necesario desplazarse.

La barra de desplazamiento es de dos tipos: Horizontal y vertical barra de desplazamiento como se muestra en la siguiente captura de pantalla.

barra de desplazamiento

barra de desplazamiento

Resum

  • En el tutorial anterior, ilustramos el desplazamiento de la página web a través de diferentes escenarios.
  • En el primer escenario, mostramos el desplazamiento hacia abajo página por píxel.
  • En el segundo escenario, mostramos el desplazamiento hacia abajo de la página hasta que el elemento sea visible.
  • En el tercer escenario, mostramos el desplazamiento hacia abajo de la página en la parte inferior de la página.
  • En el cuarto escenario, se ilustra el desplazamiento horizontal en la página web.