如何通过使用 javascriptExecutor 定义像素在selenium中上下滚动?
在本文中,让我们看看如何使用 javascriptexecutor 向上和向下滚动。
scroll 是一种 JavaScript 方法,JavaScriptExecutor 提供了允许使用selenium脚本中的 JavaScript 方法的接口。因此需要在selenium JavaScriptExecutor 中向上或向下滚动。
安装:要使用 JavaScriptExecutor,我们需要在我们的系统中安装Java和Selenium,这是一个用于浏览器的 web 驱动程序,也是一个用于代码编辑器的 IDE。
- Eclipse IDE:在下载之前还要确保您的设备具有Java JDK。如果没有,安装Java参考这个:How to Download and Install Java for 64-bit machine?。并通过参考这篇文章 Eclipse IDE for Java Developers 安装 Eclipse IDE
- Selenium:在此处下载Selenium最新的稳定版本
- Web 驱动程序:在此处根据您的版本下载 Microsoft Edge Web 驱动程序
句法:
window.scrollBy(xnum,ynum);
参数:
- Xnum:是沿 x 轴(水平)滚动多少像素所需的数字。正值将向右滚动,而负值将向左滚动。
- Ynum:是沿 y 轴(垂直)滚动多少像素所需的数字。正值将向下滚动,而负值将向上滚动。
滚动函数:
javascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(xnum,ynum)", "");
例子:
- 向上滚动:如果用户想要向上滚动,只需将第二个参数的像素值修改为负值(例如 350)即可。
- 向下滚动:如果用户想要向下滚动,只需将第二个参数的像素值修改为正值(例如350)。
使用Selenium WebDriver 向下滚动网页的程序:
Java
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
public class geeksforgeeks {
public static void main(String args[]) {
System.setProperty("webdriver.edge.driver",
"C:\\Users\\ADMIN\\Documents\\Selinium\\msedgedriver.exe");
// Instantiate a EdgeDriver class.
WebDriver driver=new EdgeDriver();
// Maximize the browser
driver.manage().window().maximize();
// Launch Website
driver.get("https://www.geeksforgeeks.org/");
JavascriptExecutor js = (JavascriptExecutor) driver;
// Scroll Down by 350 pixels
js.executeScript("window.scrollBy(0,350)", "");
}
}
运行代码的步骤:
- 打开 Eclipse 并单击文件 > 新建 > Java项目。
- 提供项目名称并单击完成按钮。
- 在 Package Explorer(窗口左侧)中选择您创建的项目。
- 右键单击 src 文件夹,从子菜单中选择 New > Class。提供类名称并单击完成按钮。
- 添加Selenium罐子,作为参考,请查看这篇文章 https://www.geeksforgeeks.org/how-to-open-chrome-browser-using-selenium-in-java/
- 编写程序并保存。
- 现在,按 Ctrl+F11 或单击“运行”菜单并选择“运行”或单击“运行”按钮。
输出:代码初始化 GeeksforGeeks for Edge 浏览器。然后启动 Edge 浏览器,并导航到指定的网站 URL。网站加载后,浏览器窗口将垂直向下滚动 350 像素。