Método A: El selenio en funcionamiento analógico con las teclas del teclado y acciones, controlando de esta manera la página de desplazamiento.
Método 2: Uso de JavaScript para lograr página de desplazamiento.
Código es el siguiente:
package com.ceres.demos;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
public class scrollTest {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com/s?wd=window");
Thread.sleep(2000);
/*
* 方法一:利用Selenium里的Actions和Keys模拟键盘操作,从而控制页面滚动;
*/
Actions actions = new Actions(driver);
actions.sendKeys(Keys.DOWN).perform();
Thread.sleep(1000);
actions.sendKeys(Keys.ARROW_DOWN).perform();
Thread.sleep(1000);
actions.sendKeys(Keys.PAGE_DOWN).perform();
Thread.sleep(1000);
actions.sendKeys(Keys.END).perform();
Thread.sleep(1000);
actions.sendKeys(Keys.HOME).perform();
/*
* 方法二:利用JavaScript实现页面滚动;
* scrollTo滚动到指定位置;
* scrollBy指定滚动方向和滚动量;
*/
String js1 = "window.scrollTo(0,300);";
((JavascriptExecutor) driver).executeScript(js1);
Thread.sleep(1000);
String js2 = "window.scrollBy(0,-200);";
((JavascriptExecutor) driver).executeScript(js2);
Thread.sleep(1000);
/*
* 方法二补充:滚动到指定元素所在位置
*/
String js3 = "arguments[0].scrollIntoView();";
WebElement element = driver.findElement(By.id("rs"));//定位目标元素
((JavascriptExecutor) driver).executeScript(js3, element);
// driver.quit();
}
}
referencia:
https://www.cnblogs.com/moonpool/p/5677029.html
https://blog.csdn.net/lssrain/article/details/80108320
HTML Obtiene el ancho de la altura de la pantalla, el navegador, la página