how handle scroll bar selenium webdriver
Acest tutorial explică barele de derulare, tipurile de bare de derulare și modul de gestionare a barei de derulare în seleniu:
Bara de defilare este o secțiune lungă subțire la marginea afișajului computerului. Folosind bara de derulare putem vizualiza întregul conținut sau putem vizualiza pagina completă în timp ce derulați în sus-jos sau stânga-dreapta cu ajutorul unui mouse.
Mai întâi, permiteți-ne să înțelegem câțiva termeni precum Buton, Urmărire și Butoane care sunt folosiți cu referire la bare de defilare.
=> Verificați TOATE Tutorialele Selenium aici
șablon de raport de execuție test în Excel
În acest tutorial, vom afla despre tipurile de bare de derulare. De asemenea, ne vom uita la bara de derulare în HTML, vom înțelege implementarea codului pentru manipularea barei de derulare în Selenium și, în cele din urmă, vom cunoaște exemplele / aplicațiile în care barele de derulare sunt utilizate în mod obișnuit.
Ce veți învăța:
Înțelegerea barelor de derulare
Imaginea de mai jos prezintă 2 tipuri de bare de defilare:
Ce sunt butonul, track-ul și butoanele
Barele de derulare au butoane pe ambele capete ale barei, care ar putea fi un buton înainte și înapoi pentru bara de defilare orizontală și butonul în sus și în jos pentru bara de defilare verticală.
Buton este porțiunea din bara de derulare care este mobilă. Poate fi deplasat la stânga-dreapta pentru o bară de defilare orizontală și în sus în jos pentru bara de defilare verticală.
Urmări este secțiunea barei de derulare pe care butonul poate fi mutat pentru a vizualiza conținutul complet.
Imaginea de mai jos explică clar conceptul:
(imagine sursă )
Tipuri de bare de derulare
Practic, există două tipuri:
- Bara de defilare orizontală
- Bara de derulare verticală
# 1) Bara de derulare orizontală
O bară de derulare orizontală permite utilizatorului să deruleze spre stânga sau dreapta pentru a vizualiza tot conținutul de pe fereastră.
cum se deschid fișiere bin în Windows
Imaginea de mai sus arată o bară de defilare orizontală evidențiată cu roșu. Putem vedea că bara de defilare poate fi mutată de la stânga la dreapta sau invers pentru a vizualiza conținutul complet afișat pe ecran.
# 2) Bara de derulare verticală
O bară de defilare verticală permite utilizatorului să deruleze în sus sau în jos sau invers pentru a vizualiza conținutul complet pe fereastră.
Imaginea de mai sus arată o bară de defilare verticală evidențiată în roșu. Putem vedea că bara de defilare poate fi mutată de sus în jos sau invers pentru a vizualiza conținutul complet afișat pe ecran.
De obicei, paginile web au mult conținut și sunt exemple bune de bare de derulare verticale.
Bara de derulare în HTML
Este utilizat foarte frecvent pe diferite site-uri web, aplicații de sistem și aproape peste tot. Permite utilizatorilor să vizualizeze pe deplin conținutul de pe pagină, fie prin derulare în sus-în jos, fie în stânga-dreapta.
Imaginea de mai jos este un astfel de exemplu creat în HTML:
Vedeți următorul cod HTML pentru imaginea de mai sus:
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!
Astfel, putem vedea pagina HTML care, atunci când este derulată în jos și în sus, cu ajutorul unei bare de derulare verticală, conținutul complet este vizibil.
Cod pentru manipularea barei de derulare în seleniu
Seleniul gestionează operațiunile de derulare în moduri diferite. Diferitele metode sunt după cum urmează:
# 1) Utilizarea opțiunii de defilare încorporată SAU folosind clasa Actions
Derularea poate fi gestionată în Selenium utilizând o opțiune de defilare încorporată așa cum se arată în codul de implementare de mai jos:
Sintaxa pentru bara de defilare utilizând opțiuni de defilare încorporate:
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
Cod pentru manipularea barei de derulare utilizând o opțiune de defilare încorporată.
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); } }
În codul de program de mai sus, derularea este gestionată în Selenium folosind Acțiuni clasă. Acest lucru se realizează prin crearea unui obiect din clasa Actions prin trecerea driverului. De asemenea, am văzut utilizarea unei opțiuni de defilare încorporată pentru derulare în sus, precum și pentru derulare în jos.
Ieșirea codului de mai sus:
(imagine sursă )
Astfel putem vedea operațiile de derulare în jos și derulare în sus efectuate cu ajutorul Selenium Webdriver folosind o opțiune de derulare încorporată SAU folosind Acțiuni metoda clasei.
# 2) Utilizarea JavascriptExecutor SAU de Pixel
Această metodă ajută la derularea paginii web menționând numărul de pixeli prin care dorim să derulăm fie în sus, fie în jos. Mai jos este codul de implementare pentru Derularea de către Pixel sau utilizarea 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..'); } }
Ieșirea codului de mai sus:
Imaginea de mai sus arată derularea în jos efectuată de valoarea pixelilor menționați în codul de mai sus cu 70 (în jos). În același mod, operația de derulare în sus este apoi efectuată furnizând valoarea pixelului = -50 (adică în sus).
Imaginea de mai jos arată derularea în sus (cu 50):
Astfel, în această metodă, am folosit JavascriptExecutor și am efectuat Scroll în sus și în jos, oferind valori pixel.
Exemple / Aplicații
Există numeroase aplicații sau exemple de bare de defilare. Puține dintre ele sunt descrise mai jos:
# 1) Bare de derulare în fișiere Excel:
După cum știm, fișierele Excel conțin o cantitate imensă de date stocate. Devine dificil să vizualizezi întregul conținut pe o singură pagină. Prin urmare, derularea poate ajuta utilizatorul să vizualizeze datele care nu sunt prezente pe ecranul curent.
interogări SQL practică întrebări cu răspunsuri
# 2) Derulare în Notepad
În imaginea de mai sus, barele de defilare pot fi văzute orizontal și vertical, oferind vizibilitate completă a datelor în documentul notepad.
# 3) Utilizarea barei de derulare în browsere
În timp ce citim datele, putem vedea doar jumătate de date pe ecranul browserului. Derularea vă ajută să vă deplasați înainte-înapoi și sus-jos pentru a avea întreaga vizualizare. Prin urmare, utilizând bare de defilare orizontale și verticale, conținutul complet al ecranului browserului poate fi vizualizat.
Există mult mai multe astfel de exemple care îi ajută pe utilizatori să vizualizeze datele complete afișate pe ecran.
Concluzie
În acest tutorial, am aflat despre barele de defilare, tipurile lor. Am văzut, de asemenea, să creăm și să folosim bara de defilare în pagina HTML
Am înțeles metodele de implementare a codului pentru manipularea barelor de defilare folosind Selenium, adică opțiunea de defilare încorporată / utilizarea clasei de acțiuni și utilizarea JavascriptExecutor / de Pixel și am trecut prin câteva aplicații în care barele de defilare sunt utilizate în mod obișnuit.
=> Citiți Ghidul complet de seleniu
Lectură recomandată
- Cum să gestionați alertele / ferestrele pop-up în Selenium WebDriver - Selenium Tutorial # 16
- Cum să încărcați fișierul utilizând Selenium Webdriver - 3 metode
- Cum să selectați butoanele radio în Selenium WebDriver?
- Cum se execută Selenium WebDriver în diferite browsere populare
- Gestionarea iFramelor folosind metoda Selenium WebDriver switchTo ()
- Ghid pentru generarea de rapoarte de extindere în Selenium WebDriver
- Axe XPath pentru XPath dinamic în Selenium WebDriver
- Integrarea Jenkins cu Selenium WebDriver: Tutorial pas cu pas