how handle scroll bar selenium webdriver
Denne vejledning forklarer rullebjælker, typer rullebjælker, og hvordan man håndterer rullebjælke i selen:
Rullepanelet er et tyndt langt afsnit ved kanten af computerskærmen. Ved hjælp af rullebjælken kan vi se hele indholdet eller se den komplette side, mens vi ruller op eller ned til højre ved hjælp af en mus.
Lad os først forstå nogle udtryk som knap, spor og knapper, der bruges med henvisning til rullebjælker.
=> Tjek ALLE Selen-vejledninger her
god gratis firewall til Windows 10
I denne vejledning lærer vi om typer rullepaneler. Vi vil også se på rullebjælken i HTML, forstå implementeringen af kode til håndtering af rullebjælken i selen og endelig kende eksemplerne / applikationerne, hvor rullebjælker ofte bruges.
Hvad du lærer:
Forståelse af rullebjælker
Billedet nedenfor viser to typer rullebjælker:
Hvad er knap, spor og knapper
Rullepaneler har knapper i begge ender af bjælken, som kan være en knap fremad og baglæns knap til vandret rullebjælke og opad og nedad knap til den lodrette rullebjælke.
Knop er den del af rullepanelet, der er bevægelig. Det kan flyttes til venstre mod højre for en vandret rullebjælke og op-ned for den lodrette rullebjælke.
Spore er det afsnit af rullepanelet, som knappen kan flyttes for at få vist det komplette indhold.
Billedet nedenfor forklarer klart konceptet:
[billede kilde ]
Typer af rullebjælker
Dybest set er der af to typer:
- Vandret rullepanel
- Lodret rullepanel
# 1) Vandret rullepanel
En vandret rullebjælke lader brugeren rulle mod venstre eller højre for at se alt indholdet i vinduet.
Ovenstående billede viser en vandret rullebjælke fremhævet med rødt. Vi kan se, at rullepanelet kan flyttes fra venstre til højre eller omvendt for at se det komplette indhold, der vises på skærmen.
# 2) Lodret rullepanel
hvad er gode websteder at se anime
En lodret rullebjælke lader brugeren rulle opad eller omvendt for at se det komplette indhold i vinduet.
Ovenstående billede viser en lodret rullebjælke fremhævet med rødt. Vi kan se, at rullebjælken kan flyttes fra op til nedad eller omvendt for at se det komplette indhold, der vises på skærmen.
Normalt har websider meget indhold og er gode eksempler på lodrette rullepaneler.
Rullebjælke i HTML
Det bruges meget almindeligt på forskellige websteder, systemapplikationer og næsten overalt. Det giver brugerne mulighed for fuldt ud at se indholdet på siden enten ved at rulle opad eller nedad til højre.
Billedet nedenfor er et sådant eksempel oprettet i Html:
Se følgende HTML-kode for ovenstående billede:
Scroll Bar #text { width: 200px; height: 200px; border: 1px solid; font-size: 30px; overflow: scroll; text-align: center; } Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World!
Således kan vi se HTML-siden, som når det ruller nedad og opad ved hjælp af en lodret rullebjælke, kan det komplette indhold ses.
Kode til håndtering af rullebjælke i selen
Selen håndterer rulleoperationer på forskellige måder. De forskellige metoder er som følger:
# 1) Brug af den indbyggede rulleindstilling ELLER ved hjælp af handlingsklassen
Rulning kan håndteres i Selen ved hjælp af en indbygget rulleindstilling som vist i nedenstående implementeringskode:
Syntaksen for rullebjælke ved hjælp af indbyggede rulleindstillinger:
Actions act = new Actions(driver); //Object of Actions class act.sendKeys(Keys. PAGE_DOWN ).build().perform(); //Page Down act.sendKeys(Keys. PAGE_UP ).build().perform(); //Page Up
Kode til håndtering af rullepanel ved hjælp af en indbygget rulleindstilling.
package SeleniumPrograms; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.interactions.Actions; public class Scroll { public static void main(String[] args) throws InterruptedException { WebDriver dr = new FirefoxDriver(); dr.manage().window().maximize(); dr.get('https://opensource-demo.orangehrmlive.com/'); //testing webpage WebElement uname = dr.findElement(By.id('txtUsername')); //username uname.sendKeys('Admin'); WebElement pwd = dr.findElement(By.name('txtPassword')); //password pwd.sendKeys('admin123'); WebElement login_button = dr.findElement(By.xpath('//input[@id='btnLogin']')); login_button.click(); //login button WebElement admin = dr.findElement(By.id('menu_admin_viewAdminModule')); admin.click(); WebElement job = dr.findElement(By.id('menu_admin_Job')); job.click(); WebElement jobtitle_link = dr.findElement(By.linkText('Job Titles')); jobtitle_link.click(); Actions act = new Actions(dr); act.sendKeys(Keys.PAGE_DOWN).build().perform(); //Page Down System.out.println('Scroll down perfomed'); Thread.sleep(3000); act.sendKeys(Keys.PAGE_UP).build().perform(); //Page Up System.out.println('Scroll up perfomed'); Thread.sleep(3000); } }
I ovenstående programkode håndteres rulning i Selen ved hjælp af Handlinger klasse. Dette gøres ved at oprette et objekt af Handlingsklasse ved at passere driveren. Vi har også set brugen af en indbygget rulleindstilling til opadgående rulning såvel som til nedadgående rulning.
Output af ovenstående kode:
[billede kilde ]
Således kan vi se rulle ned og rulle op-operationer udført ved hjælp af Selenium Webdriver ved hjælp af en indbygget rulleindstilling ELLER ved hjælp af Handlinger klassemetode.
# 2) Brug af JavascriptExecutor ELLER af Pixel
Denne metode hjælper med at rulle på websiden ved at nævne det antal pixler, som vi ønsker at rulle enten opad eller nedad. Nedenfor er implementeringskoden til at rulle med Pixel eller bruge JavascriptExecutor.
package SeleniumPrograms; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class ScrollBar { public static void main(String[] args) throws InterruptedException { WebDriver dr = new FirefoxDriver(); dr.manage().window().maximize(); dr.get('https://opensource-demo.orangehrmlive.com/'); //testing webpage WebElement uname = dr.findElement(By.id('txtUsername')); //username uname.sendKeys('Admin'); WebElement pwd = dr.findElement(By.name('txtPassword')); //password pwd.sendKeys('admin123'); WebElement login_button = dr.findElement(By.xpath('//input[@id='btnLogin']')); login_button.click(); //loginbutton JavascriptExecutor js = (JavascriptExecutor)dr; js.executeScript('window.scrollBy(0,70)'); //Scroll Down(+ve) Thread.sleep(3000); System.out.println('Scrolled down..'); js.executeScript('window.scrollBy(0,-50)'); //Scroll Up (-ve) Thread.sleep(3000); System.out.println('Scrolled up..'); } }
Output af ovenstående kode:
Ovenstående billede viser rulle ned udført af pixelværdi som nævnt i ovenstående kode med 70 (nedad). På samme måde udføres derefter oprulningsoperationen ved at give pixelværdi = -50 (dvs. opad).
Billedet nedenfor viser rulle op (med 50):
Således har vi i denne metode brugt JavascriptExecutor og udført Scroll op og ned ved at give pixelværdier.
Eksempler / applikationer
Der er mange applikationer eller eksempler på rullepaneler. Få af dem er som beskrevet nedenfor:
# 1) Rullebjælker i Excel-filer:
Som vi ved, at Excel-filer har en enorm mængde data gemt i den. Det bliver svært at se hele indholdet på en enkelt side. Derfor kan rulle hjælpe brugeren med at se de data, der ikke findes på den aktuelle skærm.
stakimplementering i c ++ ved hjælp af array
# 2) Rulning i Notesblok
I ovenstående billede kan rullebjælker ses vandret og lodret, hvilket giver fuldstændig synlighed af data i notesblokdokumentet.
# 3) Brug af rullepanel i browsere
Mens vi læser dataene, kan vi kun se halve data på browserskærmen. Rulning hjælper med at bevæge sig fremad og bagud for at have hele udsigten. Derfor kan man ved hjælp af vandrette og lodrette rullebjælker se hele browserskærmens indhold.
Der er mange flere sådanne eksempler, som hjælper brugerne med at se de komplette data, der vises på skærmen.
Konklusion
I denne vejledning har vi lært om rullebjælker, deres typer. Vi har også set at oprette og bruge rullebjælken på HTML-siden
Vi har forstået metoderne til implementering af kode til håndtering af rullebjælker ved hjælp af Selen, dvs. indbygget rulleindstilling / brug af handlingsklasse og brug af JavascriptExecutor / af Pixel og gennemgået nogle få applikationer, hvor rullebjælker ofte bruges.
=> Læs gennem den komplette selen-guide
Anbefalet læsning
- Sådan håndteres alarmer / pop op i Selen WebDriver - Selen Tutorial # 16
- Sådan uploades fil ved hjælp af Selenium Webdriver - 3 metoder
- Sådan vælges radioknapper i Selen WebDriver?
- Sådan køres Selen WebDriver i forskellige populære browsere
- Håndtering af iFrames ved hjælp af Selen WebDriver switchTo () -metoden
- Vejledning til generering af omfattende rapporter i Selen WebDriver
- XPath-akser til dynamisk XPath i Selen WebDriver
- Integration af Jenkins med Selen WebDriver: Trin-for-trin vejledning