Kas ir ritjosla?
Ritināšanas josla ļauj pārvietoties pa ekrānu horizontālā vai vertikālā virzienā, ja pašreizējā lapas ritināšana neatbilst ekrāna redzamajam laukumam. To izmanto, lai pārvietotu logu uz augšu un uz leju.
Selenium Webdriver nav nepieciešama ritināšana, lai veiktu darbības, jo tas manipulē ar DOM. Bet dažās tīmekļa lapās elementi kļūst redzami tikai tad, kad lietotājs ir ritinājis līdz tiem. Šādos gadījumos var būt nepieciešama ritināšana.
Ritināšanas josla ir divu veidu: horizontāla un vertikāla ritināšanas josla, kā parādīts zemāk esošajā ekrānuzņēmumā.
Ritiniet selēnā
Lai ritinātu, izmantojot Selenium, varat izmantot JavaScriptExecutor saskarni, kas palīdz izpildīt JavaScript metodes, izmantojot Selenium Webdriver
Uzziniet vairāk par JavaScriptExecutor
Sintakse:
JavascriptExecutor js = (JavascriptExecutor) draiveris;js.executeScript (skripts, argumenti);
- Skripts - tas ir JavaScript, kas jāizpilda.
- Argumenti - tie ir skripta argumenti. Tas nav obligāts.
Selēna skripts, lai ritinātu lejup pa lapu
Apskatīsim tīmekļa lapas ritināšanu uz leju, izmantojot selēna tīmekļa draiveri ar šādiem 3 scenārijiem:
- 1. scenārijs: lai ritinātu Web lapu pa pikseļiem.
- 2. scenārijs: lai ritinātu tīmekļa lapu uz leju pēc elementa redzamības.
- 3. scenārijs: lai ritinātu uz leju tīmekļa lapu lapas apakšdaļā.
- 4. scenārijs: horizontāla ritināšana Web lapā.
1. scenārijs: lai ritinātu Web lapu pa pikseļiem.
Selēna skripts
importēt org.openqa.selenium.JavascriptExecutor;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;importēt org.testng.annotations.Test;publiskā klase ScrollByPixel {WebDriver draiveris;@Pārbaudepublic void ByPixel () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");draiveris = jauns ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) draiveris;// Palaidiet lietojumprogrammudriver.get ("http://demo.guru99.com/test/guru99home/");// Lai maksimizētu logu. Šis kods var nedarboties ar Selenium 3 burkām. Ja skripts neizdodas, varat noņemt zemāk esošo rindudraiveris.pārvaldīt (). logs (). maksimizēt ();// Tas ritinās lejup pa lapu par 1000 pikseļiem vertikālijs.executeScript ("window.scrollBy (0,1000)");}}
Skripta apraksts : Iepriekš minētajā kodā Chrome pārlūkprogrammā vispirms palaižam norādīto URL. Pēc tam ritiniet lapu par 1000 pikseļiem, izmantojot executeScript. Javascript metode ScrollBy () ritina Web lapu līdz noteiktam pikseļu skaitam.
Metodes ScrollBy () sintakse ir:
executeScript ("window.scrollBy (x-pikseļi, y-pikseļi)");
x pikseļi ir skaitlis pie x ass, tas pārvietojas pa kreisi, ja skaitlis ir pozitīvs, un tas pārvietojas pa labi, ja skaitlis ir negatīvs. pozitīvs un tas virzās uz augšu, ja skaitlis ir negatīvs.
Piemērs:
js.executeScript ("window.scrollBy (0,1000)"); // Ritiniet vertikāli uz leju par 1000 pikseļiem
Rezultātu analīze: šeit ir izeja, izpildot iepriekš minēto skriptu.
2. scenārijs: lai ritinātu tīmekļa lapu uz leju pēc elementa redzamības.
Selēna skripts
importēt org.openqa.selenium.By;importēt org.openqa.selenium.JavascriptExecutor;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.WebElement;importēt org.openqa.selenium.chrome.ChromeDriver;importēt org.testng.annotations.Test;publiskā klase ScrollByVisibleElement {WebDriver draiveris;@Pārbaudepublic void ByVisibleElement () {System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");draiveris = jauns ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) draiveris;// Palaidiet lietojumprogrammudriver.get ("http://demo.guru99.com/test/guru99home/");// Atrodiet elementu pēc saites teksta un saglabājiet mainīgajā "Element"WebElement Element = driver.findElement (By.linkText ("Linux"));// Tas ritinās lapu, līdz elements tiks atrastsjs.executeScript ("argumenti [0] .scrollIntoView ();", Element);}}
Skripta apraksts: Iepriekš minētajā kodā mēs vispirms palaižam norādīto URL pārlūkprogrammā Chrome. Pēc tam ritiniet lapu, līdz minētais elements ir redzams pašreizējā lapā. Javascript metode scrollIntoView () ritina lapu, līdz minētais elements ir pilnībā redzams:
js.executeScript ("argumenti [0] .scrollIntoView ();", Element);
"argumenti [0]" ir lapas pirmais indekss, kas sākas ar 0.
Kur "Element" ir tīmekļa vietnes lokators.
Rezultātu analīze: šeit ir izeja, izpildot iepriekš minēto skriptu.
3. scenārijs: lai ritinātu uz leju tīmekļa lapu lapas apakšdaļā.
Selēna skripts
importēt org.openqa.selenium.JavascriptExecutor;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;importēt org.testng.annotations.Test;publiskā klase ScrollByPage {WebDriver draiveris;@Pārbaudepublic void ByPage () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");draiveris = jauns ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) draiveris;// Palaidiet lietojumprogrammudriver.get ("http://demo.guru99.com/test/guru99home/");// Tas ritinās tīmekļa lapu līdz beigām.js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");}}
Skripta apraksts: Iepriekš minētajā kodā mēs vispirms palaižam norādīto URL pārlūkprogrammā Chrome. Pēc tam ritiniet līdz lapas apakšai. Ritiniet līdz Javascript metodei () ritiniet līdz lapas beigām.
js.executeScript ("window.scrollTo (0, document.body.scrollHeight)");
"document.body.scrollHeight" atgriež visu ķermeņa, ti, tīmekļa lapas, augstumu.
Rezultātu analīze: šeit ir izvade, izpildot iepriekš minēto skriptu.
4. scenārijs: horizontāla ritināšana Web lapā.
Selēna skripts
importēt org.openqa.selenium.By;importēt org.openqa.selenium.JavascriptExecutor;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.WebElement;importēt org.openqa.selenium.chrome.ChromeDriver;importēt org.testng.annotations.Test;publiskā klase HorizontalScroll {WebDriver draiveris;@Pārbaudepublic void ScrollHorizontally () {System.setProperty ("webdriver.chrome.driver", "E: //Selenium//Selenium_Jars//chromedriver.exe");draiveris = jauns ChromeDriver ();JavascriptExecutor js = (JavascriptExecutor) draiveris;// Palaidiet lietojumprogrammudriver.get ("http://demo.guru99.com/test/guru99home/scrolling.html");WebElement Element = driver.findElement (By.linkText ("VBScript"));// Tas ritinās lapu horizontāli, līdz elements tiks atrastsjs.executeScript ("argumenti [0] .scrollIntoView ();", Element);}}
Skripta apraksts: Iepriekš minētajā kodā mēs vispirms palaižam norādīto URL pārlūkprogrammā Chrome. Pēc tam ritiniet lapu horizontāli, līdz minētais elements ir redzams pašreizējā lapā. Javascript metode scrollIntoView () ritina lapu, līdz minētais elements ir pilnībā redzams:
js.executeScript ("argumenti [0] .scrollIntoView ();", Element);
Rezultātu analīze: šeit ir izvade, izpildot iepriekš minēto skriptu.
Kopsavilkums
- Iepriekš minētajā apmācībā mēs ilustrējam tīmekļa lapas ritināšanu dažādos scenārijos.
- Pirmajā scenārijā mēs parādījām ritināšanu uz leju pa lappusēm pa pikseļiem.
- Otrajā scenārijā mēs parādījām lapas ritināšanu uz leju, līdz redzams elements.
- Trešajā scenārijā mēs parādījām ritināšanu uz leju lapas apakšā.
- Ceturtajā scenārijā ilustrēja tīmekļa lapas horizontālo ritināšanu.