有没有其他方法可以在不使用JavaScriptExecutor的情况下在网页中向上/向下滚动?
答案 0 :(得分:1)
您可以尝试将PageUp和PageDown键作为备用键:
语法:driver.findElement(By.xpath("xpath")).sendKeys(Keys.PAGE_DOWN)
答案 1 :(得分:0)
请根据您的要求尝试以下代码:
//使用Keys
滚动到元素 Actions action = new Actions(dr);
action.sendKeys(Keys.PAGE_DOWN);
Thread.sleep(5000);
action.click(driver.findElement(By.partialLinkText("XYZ"))).perform();
//用于在页面上滚动
for (int second = 0;; second++) {
if(second >=60){
break;
}
driver.executeScript("window.scrollBy(0,200)", "");
Thread.sleep(1000);
}
//滚动页面底部:
Actions actions = new Actions(driver);
actions.keyDown(Keys.CONTROL).sendKeys(Keys.END).perform();
答案 2 :(得分:0)
你可以使用以下方式向下滚动:
driver.findElement(By.xpath("xpath")).sendKeys(Keys.PAGE_DOWN)
但这只会向下滚动一次。
但是如果你想转移到那个元素,请使用以下代码:
WebElement scroll = driver.findElement(By.cssSelector("ur selector"));//u can use By.xpath or By.id here
Actions actions = new Actions(driver);
actions.moveToElement(scroll);
actions.perform();
这将通过滚动来获取元素。