how handle scroll bar selenium webdriver
이 자습서에서는 스크롤 막대, 스크롤 막대 유형 및 Selenium에서 스크롤 막대를 처리하는 방법에 대해 설명합니다.
스크롤 막대는 컴퓨터 디스플레이 가장자리에있는 가늘고 긴 섹션입니다. 스크롤 막대를 사용하여 전체 내용을 보거나 마우스를 사용하여 위아래 또는 왼쪽에서 오른쪽으로 스크롤하면서 전체 페이지를 볼 수 있습니다.
먼저 스크롤 막대와 관련하여 사용되는 노브, 트랙 및 버튼과 같은 용어를 이해하겠습니다.
Windows 10 용 무료 비디오 변환기
이 자습서에서는 스크롤 막대 유형에 대해 알아 봅니다. 또한 HTML의 스크롤 막대를 살펴보고, Selenium에서 스크롤 막대를 처리하기위한 코드 구현을 이해하고, 마지막으로 스크롤 막대가 일반적으로 사용되는 예제 / 애플리케이션을 알게됩니다.
학습 내용 :
스크롤 막대 이해
아래 이미지는 두 가지 유형의 스크롤 막대를 보여줍니다.
노브, 트랙 및 버튼이란?
스크롤바는 버튼 가로 스크롤 막대의 경우 앞으로 버튼과 뒤로 버튼, 세로 스크롤 막대의 경우 위쪽 및 아래쪽 버튼이 될 수있는 막대의 양쪽 끝에 있습니다.
손잡이 이동할 수있는 스크롤 막대 부분입니다. 수평 스크롤 막대의 경우 왼쪽에서 오른쪽으로, 수직 스크롤 막대의 경우 위아래로 이동할 수 있습니다.
과정 전체 내용을보기 위해 노브를 움직일 수있는 스크롤 막대의 섹션입니다.
아래 이미지는 개념을 명확하게 설명합니다.
(영상 출처 )
스크롤 막대의 유형
기본적으로 두 가지 유형이 있습니다.
- 수평 스크롤 바
- 수직 스크롤 바
# 1) 수평 스크롤 바
가로 스크롤 막대를 사용하면 사용자가 왼쪽 또는 오른쪽으로 스크롤하여 창에있는 모든 콘텐츠를 볼 수 있습니다.
위의 이미지는 빨간색으로 강조 표시된 가로 스크롤 막대를 보여줍니다. 스크롤 막대를 왼쪽에서 오른쪽으로 또는 그 반대로 이동하여 화면에 표시된 전체 내용을 볼 수 있습니다.
# 2) 수직 스크롤 바
세로 스크롤 막대를 사용하면 사용자가 창에서 전체 내용을보기 위해 위아래로 스크롤하거나 그 반대로 스크롤 할 수 있습니다.
배열 자바에 요소 추가
위의 이미지는 빨간색으로 강조 표시된 세로 스크롤 막대를 보여줍니다. 화면에 표시된 전체 내용을보기 위해 스크롤 막대를 위에서 아래로 또는 그 반대로 이동할 수 있음을 알 수 있습니다.
일반적으로 웹 페이지에는 많은 콘텐츠가 있으며 세로 스크롤 막대가있는 좋은 예입니다.
HTML의 스크롤 막대
다른 웹 사이트, 시스템 응용 프로그램 및 거의 모든 곳에서 매우 일반적으로 사용됩니다. 이를 통해 사용자는 위아래로 스크롤하거나 왼쪽에서 오른쪽으로 스크롤하여 페이지의 콘텐츠를 완전히 볼 수 있습니다.
아래 이미지는 Html로 만든 예제 중 하나입니다.
위 이미지는 다음 Html 코드를 참조하십시오.
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!
따라서 수직 스크롤 막대를 사용하여 아래쪽과 위쪽으로 스크롤하면 전체 내용을 볼 수있는 Html 페이지를 볼 수 있습니다.
Selenium에서 스크롤 막대를 처리하기위한 코드
Selenium은 다양한 방식으로 스크롤 작업을 처리합니다. 다른 방법은 다음과 같습니다.
# 1) 내장 스크롤 옵션 사용 또는 Actions 클래스 사용
스크롤링은 아래 구현 코드와 같이 내장 스크롤 옵션을 사용하여 Selenium에서 처리 할 수 있습니다.
내장 스크롤 옵션을 사용하는 스크롤 막대의 구문 :
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
내장 스크롤 옵션을 사용하여 스크롤 막대를 처리하는 코드입니다.
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); } }
위의 프로그램 코드에서 스크롤은 Selenium에서 다음을 사용하여 처리됩니다. 행위 수업. 이것은 드라이버를 전달하여 Actions 클래스의 객체를 생성함으로써 수행됩니다. 또한 상향 스크롤과 하향 스크롤에 내장 된 스크롤 옵션을 사용하는 것을 확인했습니다.
위 코드의 출력 :
(영상 출처 )
따라서 내장 스크롤 옵션을 사용하거나 Selenium Webdriver의 도움으로 수행되는 Scroll Down 및 Scroll Up 작업을 볼 수 있습니다. 행위 클래스 방법.
# 2) JavascriptExecutor OR by Pixel 사용
이 방법은 위쪽 또는 아래쪽으로 스크롤하려는 픽셀 수를 언급하여 웹 페이지를 스크롤하는 데 도움이됩니다. 아래는 Scrolling by Pixel 또는 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..'); } }
위 코드의 출력 :
위의 이미지는 위 코드에서 언급 한대로 픽셀 값별로 70 (아래로) 스크롤 다운을 보여줍니다. 같은 방식으로 스크롤 업 작업은 픽셀 값 = -50 (즉, 위쪽)을 제공하여 수행됩니다.
아래 이미지는 위로 스크롤 (50 씩)을 보여줍니다.
따라서이 메서드에서는 JavascriptExecutor를 사용하고 픽셀 값을 제공하여 Scroll up 및 down을 수행했습니다.
예 / 응용
스크롤 막대의 다양한 응용 프로그램이나 예가 있습니다. 그들 중 몇 가지는 아래에 설명되어 있습니다.
# 1) Excel 파일의 스크롤 막대 :
엑셀 파일에는 엄청난 양의 데이터가 저장되어 있습니다. 한 페이지에서 전체 내용을보기가 어려워집니다. 따라서 스크롤은 사용자가 현재 화면에없는 데이터를 보는 데 도움이 될 수 있습니다.
오라클 11g 성능 튜닝 인터뷰 질문
# 2) 메모장에서 스크롤
위 이미지에서 스크롤 막대는 수평 및 수직으로 볼 수 있으므로 메모장 문서의 데이터를 완벽하게 볼 수 있습니다.
# 3) 브라우저에서 스크롤바 사용
데이터를 읽는 동안 브라우저 화면에서 절반의 데이터 만 볼 수 있습니다. 스크롤은 전체보기를 위해 앞뒤 및 위아래로 이동하는 데 도움이됩니다. 따라서 가로 및 세로 스크롤 막대를 사용하여 전체 브라우저 화면의 내용을 볼 수 있습니다.
사용자가 화면에 표시된 전체 데이터를 보는 데 도움이되는 더 많은 예가 있습니다.
결론
이 튜토리얼에서는 스크롤 막대와 그 유형에 대해 배웠습니다. 또한 HTML 페이지에서 스크롤 막대를 만들고 사용하는 것을 보았습니다.
우리는 Selenium을 사용하여 스크롤 막대를 처리하는 코드를 구현하는 방법을 이해했습니다.
추천 도서
- Selenium WebDriver에서 경고 / 팝업을 처리하는 방법-Selenium Tutorial # 16
- Selenium Webdriver를 사용하여 파일을 업로드하는 방법-3 가지 방법
- Selenium WebDriver에서 라디오 버튼을 선택하는 방법은 무엇입니까?
- 다양한 인기 브라우저에서 Selenium WebDriver를 실행하는 방법
- Selenium WebDriver switchTo () 메서드를 사용하여 iFrame 처리
- Selenium WebDriver에서 익스텐트 보고서 생성 가이드
- Selenium WebDriver의 동적 XPath 용 XPath 축
- Jenkins와 Selenium WebDriver의 통합 : 단계별 자습서