Apa itu Scrollbar?
Scrollbar adalah memungkinkan Anda bergerak di sekitar layar dalam arah horizontal atau vertikal jika gulir halaman saat ini tidak sesuai dengan area yang terlihat di layar. Ini digunakan untuk memindahkan jendela ke atas dan ke bawah.
Selenium Webdriver tidak memerlukan scroll untuk melakukan tindakan karena ia memanipulasi DOM. Namun di halaman web tertentu, elemen hanya akan terlihat setelah pengguna menggulirnya. Dalam kasus seperti itu, pengguliran mungkin diperlukan.
Scroll bar terdiri dari dua jenis: scroll bar horizontal dan vertikal seperti yang ditunjukkan pada gambar di bawah ini.
Gulir di Selenium
Untuk menggulir menggunakan Selenium, Anda dapat menggunakan antarmuka JavaScriptExecutor yang membantu menjalankan metode JavaScript melalui Selenium Webdriver
Pelajari lebih lanjut tentang JavaScriptExecutor
Sintaks:
JavascriptExecutor js = (JavascriptExecutor) driver;js.executeScript (Skrip, Argumen);
- Script - Ini adalah JavaScript yang perlu dijalankan.
- Argumen - Ini adalah argumen ke skrip. Ini opsional.
Selenium Script untuk scroll ke bawah halaman
Mari kita lihat scroll ke bawah halaman web menggunakan selenium webdriver dengan 3 skenario berikut:
- Skenario 1: Untuk menggulir ke bawah halaman web dengan piksel.
- Skenario 2: Untuk menggulir ke bawah halaman web dengan visibilitas elemen.
- Skenario 3: Untuk menggulir ke bawah halaman web di bagian bawah halaman.
- Skenario 4: Scroll horizontal pada halaman web.
Skenario 1: Untuk menggulir ke bawah halaman web dengan piksel.
Skrip Selenium
impor org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;kelas publik ScrollByPixel {Driver WebDriver;@Ujipublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Luncurkan aplikasidriver.get ("http://demo.guru99.com/test/guru99home/");// Untuk memaksimalkan jendela. Kode ini mungkin tidak bekerja dengan Selenium 3 toples. Jika skrip gagal, Anda dapat menghapus baris di bawah inidriver.manage (). window (). maksimalkan ();// Ini akan menggulir ke bawah halaman dengan 1000 piksel vertikaljs.executeScript ("window.scrollBy (0,1000)");}}
Deskripsi Skrip : Pada kode di atas, pertama kami meluncurkan URL yang diberikan di browser Chrome. Selanjutnya, gulir halaman dengan 1000 piksel melalui executeScript. Metode Javascript ScrollBy () menggulung halaman web ke jumlah piksel tertentu.
Sintaks metode ScrollBy () adalah:
executeScript ("window.scrollBy (x-piksel, y-piksel)");
x-piksel adalah bilangan pada sumbu x, ia bergerak ke kiri jika bilangan positif dan pindah ke kanan jika bilangan negatif. y-piksel adalah bilangan pada sumbu y, ia bergerak ke bawah jika bilangannya adalah positif dan pindah ke atas jika angka negatif.
Contoh:
js.executeScript ("window.scrollBy (0,1000)"); // Gulir secara vertikal ke bawah sebanyak 1000 piksel
Analisis keluaran: Berikut adalah keluaran saat Anda menjalankan skrip di atas.
Skenario 2: Untuk menggulir ke bawah halaman web dengan visibilitas elemen.
Skrip Selenium
import org.openqa.selenium.By;impor org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;impor org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;public class ScrollByVisibleElement {Driver WebDriver;@Ujipublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Luncurkan aplikasidriver.get ("http://demo.guru99.com/test/guru99home/");// Temukan elemen dengan teks tautan dan simpan dalam variabel "Elemen"Elemen WebElement = driver.findElement (By.linkText ("Linux"));// Ini akan menggulung halaman sampai elemen ditemukanjs.executeScript ("argumen [0] .scrollIntoView ();", Elemen);}}
Deskripsi Skrip: Pada kode di atas, pertama-tama kami meluncurkan url yang diberikan di browser Chrome. Selanjutnya, gulir halaman hingga elemen yang disebutkan terlihat di halaman saat ini. Metode Javascript scrollIntoView () menggulung halaman sampai elemen yang disebutkan dalam tampilan penuh:
js.executeScript ("argumen [0] .scrollIntoView ();", Elemen);
"argumen [0]" berarti indeks pertama halaman yang dimulai dari 0.
Di mana "Elemen" adalah pencari lokasi di halaman web.
Analisis keluaran: Berikut adalah keluaran saat Anda menjalankan skrip di atas.
Skenario 3: Untuk menggulir ke bawah halaman web di bagian bawah halaman.
Skrip Selenium
impor org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;public class ScrollByPage {Driver WebDriver;@Ujipublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Luncurkan aplikasidriver.get ("http://demo.guru99.com/test/guru99home/");// Ini akan menggulung halaman web sampai akhir.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}
Deskripsi Skrip: Pada kode di atas, pertama-tama kami meluncurkan url yang diberikan di browser Chrome. Selanjutnya, gulir hingga bagian bawah halaman. Metode Javascript scrollTo () gulir hingga akhir halaman.
js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");
"document.body.scrollHeight" mengembalikan tinggi lengkap badan laman web yaitu.
Analisis keluaran: Berikut adalah keluaran saat Anda menjalankan skrip di atas.
Skenario 4: Scroll horizontal pada halaman web.
Skrip Selenium
import org.openqa.selenium.By;impor org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;impor org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;public class HorizontalScroll {Driver WebDriver;@Ujipublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");driver = new ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) driver;// Luncurkan aplikasidriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");Elemen WebElement = driver.findElement (By.linkText ("VBScript"));// Ini akan menggulung halaman secara horizontal sampai elemen ditemukanjs.executeScript ("argumen [0] .scrollIntoView ();", Elemen);}}
Deskripsi Skrip: Pada kode di atas, pertama-tama kami meluncurkan url yang diberikan di browser Chrome. Selanjutnya, gulir halaman secara horizontal hingga elemen yang disebutkan terlihat di halaman saat ini. Metode Javascript scrollIntoView () menggulung halaman sampai elemen yang disebutkan dalam tampilan penuh:
js.executeScript ("argumen [0] .scrollIntoView ();", Elemen);
Analisis keluaran: Berikut adalah keluaran saat Anda menjalankan skrip di atas.
Ringkasan
- Dalam tutorial di atas, kami mengilustrasikan scroll halaman web melalui berbagai skenario.
- Dalam skenario pertama, kami menunjukkan scroll ke bawah pada halaman demi piksel.
- Dalam skenario kedua, kami menunjukkan scroll ke bawah halaman sampai elemen terlihat.
- Dalam skenario ketiga, kami menunjukkan scroll ke bawah halaman di bagian bawah halaman.
- Pada skenario keempat, diilustrasikan scroll horizontal pada halaman web.