gpt4 book ai didi

java - Selenium Webdriver (Java) 创建滚动类

转载 作者:行者123 更新时间:2023-12-02 12:38:21 51 4
gpt4 key购买 nike

我正在尝试为不同类型的滚动创建一个类(向上、向下滚动、页面底部等),但我无法做到这一点。

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.chrome.ChromeDriver;

public class ScrollPage {

public static void scrolldown(String element) throws Exception {

System.setProperty("webdriver.chrome.driver", "C:\\JAVA\\DRIVER\\chromedriver.exe");
ChromeDriver driver = new ChromeDriver();

//Scroll 1/4 página
JavascriptExecutor jse1 = (JavascriptExecutor) driver;
jse1.executeScript("scroll(0,250);");
}
/*
public static void scrolldown2(String element) throws Exception {
//Scroll hasta la mitad
JavascriptExecutor jse2 = (JavascriptExecutor) driver;
jse2.executeScript("scroll(0,500);");
}

public static void scrolldown3(String element) throws Exception {
//Scroll hasta el final
JavascriptExecutor jse3 = (JavascriptExecutor) driver;
jse3.executeScript("scroll(0,1000);");
}
*/
//Otra forma de Scroll hasta el final
/* JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("window.scrollTo(0,Math.max"
+ "(document.documentElement.scrollHeight,"
+ "document.body.scrollHeight,document.documentElement.clientHeight));");

public static void scrollup(String element) throws Exception {
//Scroll hasta arriba
JavascriptExecutor jse4 = (JavascriptExecutor) driver;
jse4.executeScript("scroll(1000,0);");
}

public static void slowmotion (String element) throws Exception {
//Scroll en cámara lenta
for (int second = 0;; second++) {
if(second >=60){
break;
}
((JavascriptExecutor) driver).executeScript("window.scrollBy(0,1000)", "");
}


}
*/
}

之后,在另一个类中,我想调用特定的滚动:

ScrollPage.scrolldown();

请帮助我。

最佳答案

我在您的代码中看到很多错误:

  1. 您正在搞乱scrolldown内的驱动程序实例化方法。从中删除所有与滚动无关的内容。
  2. 为了使滚动正常工作,显然应该打开一些可滚动的网页。在您的滚动方法中,没有打开页面 - 只是空白的浏览器起始页。使用driver.get(<some url>)方法
  3. 打开可滚动页面后 - 调用 (JavascriptExecutor)driver.executeScript("window.scrollBy(0,250)", "");将窗口滚动 250 像素

关于java - Selenium Webdriver (Java) 创建滚动类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45043863/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com