Cara Scroll Halaman Bawah atau Atas di Selenium Driver web

Gulir ke dalam Selenium

Untuk menggulir menggunakan Selenium, Anda dapat menggunakan JavaAntarmuka ScriptExecutor yang membantu mengeksekusi JavaMetode skrip melalui Selenium Driver web

sintaks:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Naskah – Ini adalah JavaSkrip yang perlu dieksekusi.
  • Argumen – Ini adalah argumen terhadap naskah. Itu opsional.

Selenium Skrip untuk menggulir halaman ke bawah

Mari kita lihat gulir ke bawah halaman web menggunakan selenium webdriver dengan 4 skenario berikut:

  • Skenario 1: Untuk menggulir halaman web ke bawah berdasarkan piksel.
  • Skenario 2: Untuk menggulir halaman web ke bawah berdasarkan visibilitas elemen.
  • Skenario 3: Untuk menggulir halaman web ke bawah di bagian bawah halaman.
  • Skenario 4: Gulir horizontal pada halaman web.

Skenario 1: Untuk menggulir halaman web ke bawah berdasarkan piksel.

Selenium Naskah

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("https://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)");
    }
}

Naskah Description: Pada kode di atas pertama-tama kita meluncurkan URL yang diberikan di browser Chrome. Selanjutnya, gulir halaman sebanyak 1000 piksel melalui eksekusiScript. Javascript metode ScrollBy() menggulir halaman web ke jumlah piksel tertentu.

Sintaks metode ScrollBy() adalah :

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

x-piksel adalah bilangan pada sumbu x, bergerak ke kiri jika bilangan positif dan berpindah ke kanan jika bilangan negatif. Piksel y adalah bilangan pada sumbu y, bergerak ke bawah jika bilangan adalah positif dan bergerak ke atas jika angkanya negatif.

Contoh:

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

Analisis keluaran : Berikut adalah output ketika Anda menjalankan skrip di atas.

Gulir ke Bawah Halaman Web Berdasarkan Piksel

Skenario 2: Untuk menggulir halaman web ke bawah berdasarkan visibilitas elemen.

Selenium Naskah

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("https://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);
    }
}

Naskah Description: Dalam kode di atas, pertama-tama kita meluncurkan url yang diberikan di browser Chrome. Selanjutnya, gulir halaman hingga elemen yang disebutkan terlihat di halaman saat ini. Javascript metode scrollIntoView() menggulir halaman hingga elemen yang disebutkan dalam tampilan penuh :

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

“argumen[0]” berarti indeks pertama halaman yang dimulai dari 0.

Dimana “Elemen” merupakan pencari lokasi pada halaman web.

Analisis keluaran : Berikut adalah output ketika Anda menjalankan skrip di atas.

Gulir ke Bawah Halaman Web Berdasarkan Visibilitas Elemen

Skenario 3: Untuk menggulir halaman web ke bawah di bagian bawah halaman.

Selenium Naskah

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("https://demo.guru99.com/test/guru99home/");

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

Naskah Description : Dalam kode di atas, pertama-tama kita meluncurkan url yang diberikan di browser Chrome. Selanjutnya, gulir hingga bagian bawah halaman. Javascript metode scrollTo() gulir hingga akhir halaman.

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

“document.body.scrollHeight” mengembalikan tinggi keseluruhan isi halaman web.

Analisis keluaran: Berikut adalah output ketika Anda menjalankan skrip di atas.

Gulir ke Bawah Halaman Web Di Bagian Bawah Halaman

Skenario 4: Gulir horizontal pada halaman web

Selenium Naskah

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("https://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);
    }
}

Naskah Description : Dalam kode di atas, pertama-tama kita meluncurkan url yang diberikan di browser Chrome. Selanjutnya, gulir halaman secara horizontal hingga elemen yang disebutkan terlihat di halaman saat ini. Javascript metode scrollIntoView() menggulir halaman hingga elemen yang disebutkan dalam tampilan penuh :

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

Analisis keluaran: Berikut adalah output ketika Anda menjalankan skrip di atas.

Gulir Horizontal Pada Halaman Web

Pelajari lebih lanjut tentang JavaPelaksana Skrip

Apa itu Scrollbar?

Scrollbar memungkinkan Anda bergerak di sekitar layar dalam arah horizontal atau vertikal jika halaman yang digulir saat ini tidak sesuai dengan area yang terlihat di layar. Ini digunakan untuk memindahkan jendela ke atas dan ke bawah.

Selenium Webdriver tidak memerlukan gulir untuk melakukan tindakan karena ia memanipulasi DOM. Namun di halaman web tertentu, elemen hanya terlihat setelah pengguna menggulir ke sana. Dalam kasus seperti itu, pengguliran mungkin diperlukan.

Scroll bar ada dua jenis : Horisontal dan vertikal bilah gulir seperti yang ditunjukkan pada gambar di bawah.

Scroll bar

Scroll bar

Ringkasan

  • Dalam tutorial di atas, kami mengilustrasikan pengguliran halaman web melalui berbagai skenario.
  • Dalam skenario pertama, kami menunjukkan gulir ke bawah halaman demi piksel.
  • Dalam skenario kedua, kami menunjukkan halaman gulir ke bawah hingga elemen terlihat.
  • Dalam skenario ketiga, kami menunjukkan halaman gulir ke bawah di bagian bawah halaman.
  • Pada skenario keempat, digambarkan adanya scroll horizontal pada halaman web.