เราสามารถเลื่อน DIV เฉพาะโดยใช้ Selenium webdriver ซีลีเนียมไม่สามารถจัดการการเลื่อนได้โดยตรง ต้องใช้ความช่วยเหลือจาก Javascript Executor เพื่อทำการเลื่อนไปยัง DIV เฉพาะ
ก่อนอื่นเราต้องระบุ DIV เฉพาะที่เราต้องเลื่อนดูโดยใช้ xpath หรือ css locator ต่อไป เราจะใช้ Javascript Executor เพื่อรันคำสั่ง Javascript เมธอด executeScript ใช้สำหรับรันคำสั่ง Javascript ใน Selenium เราต้องใช้ scrollIntoView เมธอดใน Javascript และส่งผ่าน จริง เป็นอาร์กิวเมนต์ของวิธีการ
ไวยากรณ์
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(); } }
ผลลัพธ์