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.
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.
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.
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.
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.
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.