Sayfayı Aşağı veya Yukarı Kaydırma Selenium Web sürücüsü

İçeri kaydır Selenium

kullanarak kaydırmak için Selenium, Kullanabilirsiniz JavaScriptExecutor arayüzü, yürütmeye yardımcı olur JavaKomut dosyası yöntemleri Selenium Web sürücüsü

Sözdizimi:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Senaryo – Bu JavaÇalıştırılması gereken komut dosyası.
  • Argümanlar – Senaryonun argümanlarıdır. Bu isteğe bağlıdır.

Selenium Sayfayı aşağı kaydırmak için komut dosyası

Selenium webdriver'ı kullanarak aşağıdaki 4 senaryoyu kullanarak bir web sayfasını aşağı kaydırmayı görelim:

  • Senaryo 1: Web sayfasını piksel piksel aşağı kaydırmak.
  • Senaryo 2: Web sayfasını öğenin görünürlüğüne göre aşağı kaydırmak.
  • Senaryo 3: Web sayfasını sayfanın alt kısmında aşağı kaydırmak için.
  • Senaryo 4: Web sayfasında yatay kaydırma.

Senaryo 1: Web sayfasını piksel piksel aşağı kaydırmak.

Selenium Senaryo

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)");
    }
}

Senaryo Descriptiyon: Yukarıdaki kodda öncelikle verilen URL'yi Chrome tarayıcısında başlatıyoruz. Daha sonra, executiveScript aracılığıyla sayfayı 1000 piksel kaydırın. Javascript yöntem ScrollBy(), web sayfasını belirli sayıda piksele kaydırır.

ScrollBy() yöntemlerinin sözdizimi şöyledir:

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

x-pixels, x eksenindeki sayıdır, sayı pozitifse sola, sayı negatifse sağa doğru hareket eder. y-pixels, y eksenindeki sayıdır, sayı pozitifse aşağı doğru hareket eder. pozitif ve eğer sayı negatifse yukarıya doğru hareket eder.

Örnek:

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

Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.

Web Sayfasını Piksel Olarak Aşağı Kaydırın

Senaryo 2: Web sayfasını öğenin görünürlüğüne göre aşağı kaydırmak.

Selenium Senaryo

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);
    }
}

Senaryo Descriptiyon: Yukarıdaki kodda öncelikle verilen URL’yi Chrome tarayıcısında başlatıyoruz. Daha sonra, söz konusu öğe geçerli sayfada görünene kadar sayfayı kaydırın. Javascript method ScrollIntoView(), belirtilen öğe tam görünüme gelinceye kadar sayfayı kaydırır:

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

“argümanlar[0]”, sayfanın 0'dan başlayan ilk dizini anlamına gelir.

Web sayfasındaki konum belirleyicinin "Öğe" olduğu yer.

Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.

 Elemanın Görünürlüğüne Göre Web Sayfasını Aşağı Kaydırın

Senaryo 3: Web sayfasını sayfanın alt kısmında aşağı kaydırmak için.

Selenium Senaryo

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)");
    }
}

Senaryo Descriptiyon: Yukarıdaki kodda öncelikle verilen URL’yi Chrome tarayıcısında başlatıyoruz. Daha sonra sayfanın en altına kadar kaydırın. Javascript yöntemi ScrollTo() sayfanın sonuna kadar kaydırır.

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

“document.body.scrollHeight” gövdenin yani web sayfasının tam yüksekliğini döndürür.

Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.

Sayfanın Alt Kısmındaki Web Sayfasını Aşağı Kaydırın

Senaryo 4: Web sayfasında yatay kaydırma

Selenium Senaryo

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);
    }
}

Senaryo Descriptiyon: Yukarıdaki kodda öncelikle verilen URL’yi Chrome tarayıcısında başlatıyoruz. Daha sonra, söz konusu öğe geçerli sayfada görünene kadar sayfayı yatay olarak kaydırın. Javascript method ScrollIntoView(), belirtilen öğe tam görünüme gelinceye kadar sayfayı kaydırır:

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

Çıktı analizi: Yukarıdaki betiği çalıştırdığınızda çıktı budur.

Web Sayfasında Yatay Kaydırma

Hakkında daha fazla bilgi alın JavaKomut DosyasıYürütücü

Kaydırma çubuğu nedir?

Kaydırma çubuğu, geçerli sayfa kaydırmanın ekranın görünür alanına sığmaması durumunda ekranda yatay veya dikey yönde hareket etmenizi sağlar. Pencereyi yukarı ve aşağı hareket ettirmek için kullanılır.

Selenium Web sürücüsü, DOM'u yönetirken eylemleri gerçekleştirmek için kaydırma gerektirmez. Ancak bazı web sayfalarında öğeler yalnızca kullanıcı bu sayfalara kaydırdığında görünür hale gelir. Bu gibi durumlarda kaydırma gerekli olabilir.

Kaydırma çubuğu iki türdendir: Yatay ve dikey Aşağıdaki ekran görüntüsünde gösterildiği gibi kaydırma çubuğunu kullanın.

scrollbar

scrollbar

ÖZET

  • Yukarıdaki eğitimde, web sayfasının farklı senaryolar aracılığıyla kaydırılmasını gösteriyoruz.
  • İlk senaryoda aşağı kaydırmayı sayfa piksel gösterdik.
  • İkinci senaryoda ise element görünene kadar sayfanın aşağı doğru kaydırılmasını gösterdik.
  • Üçüncü senaryoda sayfanın alt kısmında sayfanın aşağı doğru kaydırılmasını gösterdik.
  • Dördüncü senaryoda web sayfasındaki yatay kaydırma gösterilmiştir.

Bu yazıyı şu şekilde özetleyin: