Selenium을 사용하여 IE11 화면을 스크롤

처음의 케이스였으므로 비망록으로서.

기본 정보


  • 쓰기 : 2018/09/12
  • OS:Windows10
  • 브라우저: IE11
  • Selenium-java:3.13.0
  • IEDriverServer:3.14.0

  • tl;dr



    frame이 아니라 display:block로 분할된 ↓와 같은 화면에서 상하의 스크롤 바를 각각 제어하고 싶었다.

    다음 방법으로 가능. 지정하는 항목이 보이는 곳까지 스크롤하는 javascript의 기능을 이용. (아래 예제는 "target"요소가 보이는 곳으로 스크롤합니다.)
    ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", driver.findElement(By.id("target")));
    

    이하, 시도 기록.

    #1



    자바 스크립트 scrollTo를 사용하지만 NG. 화면의 항목에 초점을 맞추어도 효과가 없습니다.
    ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 100)", "");
    

    #2



    PageDown 누르기 작전, 효과가 없습니다. 이것은 원래 제어 영역 내에 초점을 맞추지 않았기 때문일지도. 입력 필드에 초점을 맞추면 입력 필드 내에서 입력되는 문자열의 끝으로 점프합니다. (End 키의 동작과 동일.)
    driver.findElement(By.id("target")).sendKeys(Keys.PAGE_DOWN);
    

    #3



    솔루션과 동일한 기술의 셀레늄 버전. 1mm도 움직이지 않고.
    WebElement elem = driver.findElement(By.id("target"));
    Actions action = new Actions(driver);
    Actions action2 = action.moveToElement(elem);
    action2.perform();
    

    ※브라우저 종류에 따라 동작이 다른 것은 있다고 생각하므로, 다른 브라우저에서는 시행착오 1~3의 방법에서도 어쩌면 할 수 있을지도 모릅니다.

    당사에서는 엔지니어를 모집 중입니다. 이쪽도 봐 주실 수 있으면 기쁩니다.
    htps //w w. 닛츠-인후스시스. m / re c 루이 t / 2019 / in x. HTML

    좋은 웹페이지 즐겨찾기