Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để cuộn một DIV cụ thể bằng Selenium WebDriver với Java?

Chúng tôi có thể cuộn một DIV cụ thể bằng cách sử dụng trình duyệt web Selenium. Selenium không thể xử lý cuộn trực tiếp. Cần sự trợ giúp của Javascript Executor để thực hiện hành động cuộn đến một DIV cụ thể.

Trước hết, chúng ta phải xác định DIV cụ thể mà chúng ta phải cuộn đến với sự trợ giúp của công cụ định vị xpath hoặc css. Tiếp theo, chúng ta sẽ nhờ đến sự trợ giúp của Javascript Executor để chạy các lệnh Javascript. Phương thức executeScript được sử dụng để thực thi các lệnh Javascript trong Selenium. Chúng tôi phải sử dụng scrollIntoView trong Javascript và chuyển true làm đối số cho phương thức.

Cú pháp

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

Ví dụ

Triển khai 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();
   }
}

Đầu ra

Làm cách nào để cuộn một DIV cụ thể bằng Selenium WebDriver với Java?