Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java와 함께 Selenium WebDriver를 사용하여 특정 DIV를 스크롤하는 방법은 무엇입니까?

<시간/>

Selenium webdriver를 사용하여 특정 DIV를 스크롤할 수 있습니다. Selenium은 스크롤을 직접 처리할 수 없습니다. Javascript Executor의 도움이 필요합니다. 특정 DIV로 스크롤 작업을 수행합니다.

우선 xpath 또는 CSS 로케이터를 사용하여 스크롤해야 하는 특정 DIV를 식별해야 합니다. 다음으로 우리는 Javascript 명령을 실행하기 위해 Javascript Executor의 도움을 받을 것입니다. executeScript 메소드 Selenium에서 Javascript 명령을 실행하는 데 사용됩니다. scrollIntoView를 사용해야 합니다. 자바스크립트에서 메소드를 입력하고 true를 전달합니다. 메서드에 대한 인수로.

구문

WebElement m=driver.findElement(By.xpath("//div[@class='slick-track']"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", m);

예시

코드 구현.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.JavascriptExecutor;
public class ScrollToDiv{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.get("https://www.tutorialspoint.com/index.htm");
      driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
      // identify element
      WebElement m=driver.findElement(By.xpath("//div[@class='slick-track']"));
      // Javascript executor
      ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", m);
      Thread.sleep(800);
      driver.quit();
   }
}

출력

Java와 함께 Selenium WebDriver를 사용하여 특정 DIV를 스크롤하는 방법은 무엇입니까?