Πώς να κάνετε κύλιση προς τα κάτω ή προς τα επάνω στη σελίδα Selenium Πρόγραμμα οδήγησης Web

⚡ Έξυπνη Σύνοψη

Κύλιση σε μια σελίδα Selenium Το WebDriver χρησιμοποιεί το JavascriptΔιεπαφή εκτελεστή για εκτέλεση JavaΕντολές κύλισης σεναρίου, επειδή το WebDriver χειρίζεται απευθείας το DOM. Τέσσερα πρακτικά σενάρια καλύπτουν την κύλιση ανά pixel, σε ένα στοιχείο, στο κάτω μέρος της σελίδας και οριζόντια.

  • 📜 JavascriptΕκτελεστής διαθήκης: Τρέχει JavaΕντολές κύλισης σεναρίου Selenium WebDriver.
  • 🔢 Κύλιση ανά pixel: Η συνάρτηση window.scrollBy(x,y) μετακινεί τη σελίδα κατά έναν καθορισμένο αριθμό pixel.
  • 🎯 Μετακινηθείτε στο στοιχείο: Η συνάρτηση scrollIntoView() κάνει κύλιση μέχρι το στοιχείο-στόχος να είναι πλήρως ορατό.
  • (Π.χ. Μετακινηθείτε προς τα κάτω: Η συνάρτηση scrollTo με το document.body.scrollHeight φτάνει στο τέλος της σελίδας.
  • ↔️ Οριζόντια κύλιση: Το scrollIntoView μετακινείται επίσης πλευρικά σε στοιχεία εκτός οθόνης.
  • 🧭 Βασικά στοιχεία γραμμής κύλισης: Η κύλιση αποκαλύπτει στοιχεία που φορτώνουν μόνο όταν εισέρχονται στην προβολή.

Κύλιση προς τα κάτω ή προς τα πάνω στη σελίδα Selenium Πρόγραμμα οδήγησης Web

Κάντε κύλιση Selenium

Για κύλιση χρησιμοποιώντας Selenium, Μπορείτε να χρησιμοποιήσετε JavaΔιεπαφή ScriptExecutor που βοηθά στην εκτέλεση JavaΜέθοδοι σεναρίου μέσω Selenium Πρόγραμμα οδήγησης Web

Σύνταξη:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • Σενάριο – Αυτό είναι το JavaΣενάριο που πρέπει να εκτελεστεί.
  • Επιχειρήματα – Είναι τα επιχειρήματα στο σενάριο. Είναι προαιρετικό.

Τι είναι η γραμμή κύλισης;

Η γραμμή κύλισης είναι μια γραμμή κύλισης που σας επιτρέπει να μετακινηθείτε στην οθόνη σε οριζόντια ή κατακόρυφη κατεύθυνση, εάν η τρέχουσα κύλιση σελίδας δεν ταιριάζει στην ορατή περιοχή της οθόνης. Χρησιμοποιείται για τη μετακίνηση του παραθύρου πάνω και κάτω.

Selenium Το πρόγραμμα οδήγησης Web δεν απαιτεί κύλιση για την εκτέλεση ενεργειών καθώς χειρίζεται το DOM. Ωστόσο, σε ορισμένες ιστοσελίδες, τα στοιχεία γίνονται ορατά μόνο όταν ο χρήστης κάνει κύλιση σε αυτά. Σε τέτοιες περιπτώσεις μπορεί να είναι απαραίτητη η κύλιση.

Η γραμμή κύλισης είναι δύο τύπων: Οριζόντιος και κατακόρυφος γραμμή κύλισης όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

κύλισης

κύλισης

Selenium Σενάριο για κύλιση προς τα κάτω στη σελίδα

Ας δούμε την κύλιση προς τα κάτω σε μια ιστοσελίδα χρησιμοποιώντας το πρόγραμμα οδήγησης web selenium με τα ακόλουθα 4 σενάρια:

  • Σενάριο 1: Για κύλιση προς τα κάτω στην ιστοσελίδα ανά pixel.
  • Σενάριο 2: Για κύλιση προς τα κάτω στην ιστοσελίδα με βάση την ορατότητα του στοιχείου.
  • Σενάριο 3: Για κύλιση προς τα κάτω στην ιστοσελίδα στο κάτω μέρος της σελίδας.
  • Σενάριο 4: Οριζόντια κύλιση στην ιστοσελίδα.

Σενάριο 1: Για κύλιση προς τα κάτω στην ιστοσελίδα ανά pixel.

Selenium Γραφή

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

Γραφή DescriptιόνΣτον παραπάνω κώδικα, αρχικά εκκινούμε το δεδομένο URL στο πρόγραμμα περιήγησης Chrome. Στη συνέχεια, κάντε κύλιση στη σελίδα κατά 1000 pixel μέσω του executeScript. Javascript Η μέθοδος ScrollBy() μετακινεί την ιστοσελίδα στον συγκεκριμένο αριθμό pixel.

Η σύνταξη των μεθόδων ScrollBy() είναι:

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

x-pixels είναι ο αριθμός στον άξονα x, μετακινείται προς τα αριστερά εάν ο αριθμός είναι θετικός και μετακινείται προς τα δεξιά εάν ο αριθμός είναι αρνητικός. Τα y-pixels είναι ο αριθμός στον άξονα y, μετακινείται προς τα κάτω εάν ο αριθμός είναι θετικό και μετακινείται προς τα πάνω αν ο αριθμός είναι αρνητικός.

Παράδειγμα:

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

Ανάλυση εξόδου: Εδώ είναι η έξοδος όταν εκτελείτε την παραπάνω δέσμη ενεργειών.

Κάντε κύλιση προς τα κάτω στην ιστοσελίδα ανά εικονοστοιχείο

Σενάριο 2: Για κύλιση προς τα κάτω στην ιστοσελίδα με βάση την ορατότητα του στοιχείου.

Selenium Γραφή

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

Γραφή Descriptιόν: Στον παραπάνω κώδικα, εκκινούμε πρώτα το δεδομένο url στο πρόγραμμα περιήγησης Chrome. Στη συνέχεια, κάντε κύλιση στη σελίδα έως ότου το αναφερόμενο στοιχείο είναι ορατό στην τρέχουσα σελίδα. Javascript Η μέθοδος scrollIntoView() κάνει κύλιση στη σελίδα μέχρι να εμφανιστεί το αναφερόμενο στοιχείο σε πλήρη προβολή:

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

"ορίσματα[0]" σημαίνει το πρώτο ευρετήριο της σελίδας που ξεκινά από το 0.

Όπου ένα "Στοιχείο" είναι ο εντοπιστής στην ιστοσελίδα.

Ανάλυση εξόδου: Εδώ είναι η έξοδος όταν εκτελείτε την παραπάνω δέσμη ενεργειών.

 Κάντε κύλιση προς τα κάτω στην ιστοσελίδα με βάση την ορατότητα του στοιχείου

Σενάριο 3: Για κύλιση προς τα κάτω στην ιστοσελίδα στο κάτω μέρος της σελίδας.

Selenium Γραφή

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

Γραφή Descriptιόν: Στον παραπάνω κώδικα, εκκινούμε πρώτα το δεδομένο url στο πρόγραμμα περιήγησης Chrome. Στη συνέχεια, κάντε κύλιση μέχρι το κάτω μέρος της σελίδας. Javascript μέθοδος scrollTo() κύλιση μέχρι το τέλος της σελίδας .

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

Το "document.body.scrollHeight" επιστρέφει το πλήρες ύψος του σώματος, δηλαδή την ιστοσελίδα.

Ανάλυση εξόδου: Εδώ είναι η έξοδος όταν εκτελείτε την παραπάνω δέσμη ενεργειών.

Κάντε κύλιση προς τα κάτω στην ιστοσελίδα στο κάτω μέρος της σελίδας

Σενάριο 4: Οριζόντια κύλιση στην ιστοσελίδα

Selenium Γραφή

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

Γραφή Descriptιόν: Στον παραπάνω κώδικα, εκκινούμε πρώτα το δεδομένο url στο πρόγραμμα περιήγησης Chrome. Στη συνέχεια, πραγματοποιήστε κύλιση της σελίδας οριζόντια έως ότου το αναφερόμενο στοιχείο είναι ορατό στην τρέχουσα σελίδα. Javascript Η μέθοδος scrollIntoView() κάνει κύλιση στη σελίδα μέχρι να εμφανιστεί το αναφερόμενο στοιχείο σε πλήρη προβολή:

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

Ανάλυση εξόδου: Εδώ είναι η έξοδος όταν εκτελείτε την παραπάνω δέσμη ενεργειών.

Οριζόντια κύλιση στην ιστοσελίδα

Μάθετε περισσότερα σχετικά με JavaScriptExecutor

Συχνές Ερωτήσεις

Χρησιμοποιήστε μια αρνητική τιμή pixel με το window.scrollBy, για παράδειγμα js.executeScript με το window.scrollBy(0,-1000). Η αρνητική τιμή y μετακινεί τη σελίδα προς τα πάνω, σε αντίθεση με μια θετική τιμή που μετακινείται προς τα κάτω.

Ναι. Μπορείτε να στείλετε τα Keys.PAGE_DOWN, Keys.END ή τα πλήκτρα βέλους σε ένα στοιχείο ή να χρησιμοποιήσετε την κλάση Actions στο Selenium 4. JavascriptΟ εκτελεστής παραμένει η πιο ευέλικτη επιλογή.

Τα προγράμματα περιήγησης καταγράφουν μόνο το ορατό παράθυρο προβολής, επομένως τα σενάρια κάνουν κύλιση στη σελίδα, καταγράφουν ενότητες και τις συρράφουν. Η κύλιση ενεργοποιεί επίσης εικόνες και περιεχόμενο που φορτώνονται αργά πριν από το στιγμιότυπο οθόνης.

Ναι. Οι βοηθοί τεχνητής νοημοσύνης παράγουν αποσπάσματα scrollBy, scrollIntoView και scrollTo από απλές οδηγίες και εξηγούν τα μαθηματικά των pixel. RevΕλέγξτε τους εντοπιστές και τις συνθήκες αναμονής πριν τους εκτελέσετε στη σουίτα σας.

Τα εργαλεία που βασίζονται στην τεχνητή νοημοσύνη ανιχνεύουν πότε σταματά η φόρτωση νέου περιεχομένου, προσαρμόζουν δυναμικά το βάθος κύλισης και περιμένουν έξυπνα για στοιχεία. Αυτό αυτοματοποιεί τον έλεγχο των ροών απεριόριστης κύλισης χωρίς να απαιτείται η χρήση κωδικού αριθμού pixel.

Η συνάρτηση scrollBy μετακινεί τη σελίδα κατά έναν σταθερό αριθμό pixel από την τρέχουσα θέση. Η συνάρτηση scrollIntoView κάνει κύλιση μέχρι να γίνει ορατό ένα συγκεκριμένο στοιχείο. Χρησιμοποιήστε τη συνάρτηση scrollBy για την απόσταση και τη συνάρτηση scrollIntoView για τη στόχευση στοιχείων.

Συνοψίστε αυτήν την ανάρτηση με: