如何用 Java 中的 Selenium WebDriver 滾動特定的 DIV?
我們可以用 Selenium webdriver 滾動特定的 DIV。Selenium 不能直接處理滾動。它藉助**Javascript Executor**來執行滾動操作到特定的 DIV。
首先,我們必須識別出我們必須滾動的特定 DIV,可以使用 xpath 或 css 定位器。接下來,我們將藉助 Javascript Executor 來執行 Javascript 命令。在 Selenium 中,**executeScript** 方法用來執行 Javascript 命令。我們必須在 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://tutorialspoint.tw/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(); } }
輸出
廣告