📌  相关文章
📜  如何通过使用 javascriptExecutor 定义像素在selenium中上下滚动?

📅  最后修改于: 2022-05-13 01:56:14.846000             🧑  作者: Mango

如何通过使用 javascriptExecutor 定义像素在selenium中上下滚动?

在本文中,让我们看看如何使用 javascriptexecutor 向上和向下滚动。

scroll 是一种 JavaScript 方法,JavaScriptExecutor 提供了允许使用selenium脚本中的 JavaScript 方法的接口。因此需要在selenium JavaScriptExecutor 中向上或向下滚动。

安装:要使用 JavaScriptExecutor,我们需要在我们的系统中安装Java和Selenium,这是一个用于浏览器的 web 驱动程序,也是一个用于代码编辑器的 IDE。

  1. Eclipse IDE:在下载之前还要确保您的设备具有Java JDK。如果没有,安装Java参考这个:How to Download and Install Java for 64-bit machine?。并通过参考这篇文章 Eclipse IDE for Java Developers 安装 Eclipse IDE
  2. Selenium:在此处下载Selenium最新的稳定版本
  3. 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)", "");
      
}
}


运行代码的步骤:

  1. 打开 Eclipse 并单击文件 > 新建 > Java项目。
  2. 提供项目名称并单击完成按钮。
  3. 在 Package Explorer(窗口左侧)中选择您创建的项目。
  4. 右键单击 src 文件夹,从子菜单中选择 New > Class。提供类名称并单击完成按钮。
  5. 添加Selenium罐子,作为参考,请查看这篇文章 https://www.geeksforgeeks.org/how-to-open-chrome-browser-using-selenium-in-java/
  6. 编写程序并保存。
  7. 现在,按 Ctrl+F11 或单击“运行”菜单并选择“运行”或单击“运行”按钮。

输出:代码初始化 GeeksforGeeks for Edge 浏览器。然后启动 Edge 浏览器,并导航到指定的网站 URL。网站加载后,浏览器窗口将垂直向下滚动 350 像素。