我试图为不同类型的卷轴创建一个类(卷轴向上、向下、页面底部等等),但我做不到。
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();
求你帮帮我。
发布于 2018-06-11 14:00:12
对于滚动页慢动作,代码是:
public static void slowmotionDown(InternetExplorerDriver driver) throws Exception {
for (int second = 0;; second++) {
if(second >=60){
break;
}
((JavascriptExecutor) driver).executeScript("window.scrollBy(0,13)", "");
}
}对于滚动页慢动作,代码是:
public static void slowmotionUp(InternetExplorerDriver driver) throws Exception {
for (int second = 0;; second++) {
if(second >=60){
break;
}
((JavascriptExecutor) driver).executeScript("window.scrollBy(1000,-13)", "");
}
}这很好用。
发布于 2017-07-11 20:43:07
我在您的代码中看到了很多错误:
scrolldown方法中干扰驱动程序实例化。从里面移除所有与卷轴无关的东西。driver.get(<some url>)方法(JavascriptExecutor)driver.executeScript("window.scrollBy(0,250)", "");滚动窗口250个像素发布于 2017-07-11 20:41:38
这不是Selenium Java问题,这与面向对象编程有关。您熟悉java类是如何工作的吗?
现在,您应该能够在测试类中调用Scroll方法。
https://stackoverflow.com/questions/45043863
复制相似问题