Kuidas kerida lehte alla või üles Selenium Veebidraiver
⚡ Nutikas kokkuvõte
Lehe kerimine Selenium WebDriver kasutab JavascriptKäivitatav täitmisliides JavaSkripti kerimiskäsklused, kuna WebDriver manipuleerib otse DOM-iga. Neli praktilist stsenaariumi hõlmavad kerimist piksli kaupa, elemendini, lehe allossa ja horisontaalselt.
Kerige sisse Selenium
Kasutades kerimiseks Selenium, Mida saab kasutada JavaScriptExecutori liides, mis aitab käivitada JavaSkriptimeetodid läbi Selenium Veebidraiver
süntaksit:
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(Script,Arguments);
- Skript – see on JavaSkript, mis tuleb käivitada.
- Argumendid – need on skripti argumendid. See on valikuline.
Mis on kerimisriba?
Kerimisriba võimaldab teil liikuda ekraanil horisontaal- või vertikaalsuunas, kui praegune lehe kerimine ei mahu ekraani nähtavale alale. Seda kasutatakse akna üles-alla liigutamiseks.
Selenium Veebidraiver ei vaja toimingute tegemiseks kerimist, kuna see manipuleerib DOM-iga. Kuid teatud veebilehtedel muutuvad elemendid nähtavaks alles siis, kui kasutaja on nendeni kerinud. Sellistel juhtudel võib olla vajalik kerimine.
Kerimisriba on kahte tüüpi: Horisontaalne ja vertikaalne kerimisriba, nagu on näidatud alloleval ekraanipildil.
Selenium Skript leheküljel alla kerimiseks
Vaatame seleeni veebidraiveri abil veebilehe allakerimist nelja järgmise stsenaariumiga:
- 1. stsenaarium: veebilehe pikslite kaupa alla kerimine.
- 2. stsenaarium: veebilehel alla kerimine elemendi nähtavuse järgi.
- 3. stsenaarium: veebilehe alla kerimiseks lehe allosas.
- 4. stsenaarium: veebilehel horisontaalne kerimine.
1. stsenaarium: veebilehe pikslite kaupa alla kerimine.
Selenium Script
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)"); } }
Script DescriptioonÜlaltoodud koodis käivitame esmalt antud URL Chrome'i brauseris. Seejärel kerige lehte 1000 piksli võrra, kasutades executeScripti. Javascript meetod ScrollBy() kerib veebilehte kindla pikslite arvuni.
ScrollBy() meetodite süntaks on:
executeScript("window.scrollBy(x-pixels,y-pixels)");
x-pikslid on arv x-teljel, see liigub vasakule, kui arv on positiivne ja see liigub paremale, kui arv on negatiivne. y-pikslit on arv y-teljel, see liigub alla, kui arv on positiivne ja see liigub üles, kui arv on negatiivne.
Näide:
js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels
Väljundi analüüs: Siin on ülaltoodud skripti käivitamise väljund.
2. stsenaarium: veebilehel alla kerimine elemendi nähtavuse järgi.
Selenium Script
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); } }
Script Descriptioon: Ülaltoodud koodis käivitame esmalt antud URL-i Chrome'i brauseris. Järgmisena kerige lehte, kuni mainitud element on praegusel lehel nähtav. Javascript meetod scrollIntoView() kerib lehte, kuni mainitud element on täisvaates:
js.executeScript("arguments[0].scrollIntoView();",Element );
„argumendid[0]” tähendab lehe esimest registrit, mis algab 0-st.
Kus "Element" on veebilehel paiknev lokaator.
Väljundi analüüs: Siin on ülaltoodud skripti käivitamise väljund.
3. stsenaarium: veebilehe alla kerimiseks lehe allosas.
Selenium Script
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)"); } }
Script Descriptioon: Ülaltoodud koodis käivitame esmalt antud URL-i Chrome'i brauseris. Järgmisena kerige lehe allossa. Javascript meetod scrollTo() kerige kuni lehe lõpuni .
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
"document.body.scrollHeight" tagastab keha, st veebilehe täieliku kõrguse.
Väljundi analüüs: Siin on ülaltoodud skripti käivitamise väljund.
4. stsenaarium: veebilehel horisontaalne kerimine
Selenium Script
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); } }
Script Descriptioon: Ülaltoodud koodis käivitame esmalt antud URL-i Chrome'i brauseris. Järgmisena kerige lehte horisontaalselt, kuni mainitud element on praegusel lehel nähtav. Javascript meetod scrollIntoView() kerib lehte, kuni mainitud element on täisvaates:
js.executeScript("arguments[0].scrollIntoView();",Element );
Väljundi analüüs: Siin on ülaltoodud skripti käivitamise väljund.
Lisateave JavaScriptExecutor







