본문 바로가기

Web_Application/C#

[c#] selenium chrome driver scrollup/down



브라우저화면에 보이지 않는 영역의 element 를 찾기는 하나 클릭이벤트를 발생 시키지 못한다.

그래서 해당 element 가 나타나는 스크롤까지 임의로 스크롤을 이동시켜줘야한다.
element의 위치 Location.x , y 를 가지고 스크롤 시켜줘도 되고 일정한 높이를 줘도 된다.

up/down 은 javascript 를 실행하는 함수를 호출해서 스크립트로 제어한다.

driver.Manage() 에는 스크롤 관련 함수가 없으며 window 위치와 크기를 제어하는 부분만 있다.



        public void ScrollUp(int x, int y)

        {

            IJavaScriptExecutor js = this.driver as IJavaScriptExecutor;

            Thread.Sleep(500);

            js.ExecuteScript("window.scrollTo(" + x + ", " + y + ");");

        }



        public void ScrollDown(int x, int y) {

            IJavaScriptExecutor js = this.driver as IJavaScriptExecutor;

            Thread.Sleep(500);

            js.ExecuteScript("window.scrollTo(" + x + ", " + y + ");");

        }