Πώς να κάνετε κύλιση προς τα κάτω ή προς τα επάνω στη σελίδα Selenium Πρόγραμμα οδήγησης Web
Κάντε κύλιση Selenium
Για κύλιση χρησιμοποιώντας Selenium, Μπορείτε να χρησιμοποιήσετε JavaΔιεπαφή ScriptExecutor που βοηθά στην εκτέλεση JavaΜέθοδοι σεναρίου μέσω Selenium Πρόγραμμα οδήγησης Web
Σύνταξη:
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments);
- Σενάριο – Αυτό είναι το JavaΣενάριο που πρέπει να εκτελεστεί.
- Επιχειρήματα – Είναι τα επιχειρήματα στο σενάριο. Είναι προαιρετικό.
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
Τι είναι η γραμμή κύλισης;
Η γραμμή κύλισης είναι μια γραμμή κύλισης που σας επιτρέπει να μετακινηθείτε στην οθόνη σε οριζόντια ή κατακόρυφη κατεύθυνση, εάν η τρέχουσα κύλιση σελίδας δεν ταιριάζει στην ορατή περιοχή της οθόνης. Χρησιμοποιείται για τη μετακίνηση του παραθύρου πάνω και κάτω.
Selenium Το πρόγραμμα οδήγησης Web δεν απαιτεί κύλιση για την εκτέλεση ενεργειών καθώς χειρίζεται το DOM. Ωστόσο, σε ορισμένες ιστοσελίδες, τα στοιχεία γίνονται ορατά μόνο όταν ο χρήστης κάνει κύλιση σε αυτά. Σε τέτοιες περιπτώσεις μπορεί να είναι απαραίτητη η κύλιση.
Η γραμμή κύλισης είναι δύο τύπων: Οριζόντιος και κατακόρυφος γραμμή κύλισης όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Περίληψη
- Στο παραπάνω σεμινάριο, παρουσιάζουμε την κύλιση της ιστοσελίδας μέσα από διαφορετικά σενάρια.
- Στο πρώτο σενάριο, δείξαμε την κύλιση προς τα κάτω σελίδα προς pixel.
- Στο δεύτερο σενάριο, δείξαμε την κύλιση προς τα κάτω της σελίδας μέχρι να εμφανιστεί το στοιχείο.
- Στο τρίτο σενάριο, δείξαμε την κύλιση προς τα κάτω της σελίδας στο κάτω μέρος της σελίδας.
- Στο τέταρτο σενάριο, απεικονίζεται η οριζόντια κύλιση στην ιστοσελίδα.