如何在 Selenium 中触发 JavaScript 事件?


我们可以在 Selenium Webdriver 中触发 JavaScript 事件。Selenium 可以使用 JavaScript 执行器执行 JavaScript 事件。我们应将 JavaScript 命令作为参数传递给 executeScript 方法。

我们应触发单击元素的 JavaScript 事件。首先,我们应使用以下任一定位器(例如 xpath、css、链接文本等)识别该元素。

然后,我们应将 参数 [0].click() 和要单击的 webelement 传递给 executeScript 方法作为参数。

语法

WebElement m = driver.findElement(By.linkText("Write for us"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", m);

让我们尝试单击突出显示的链接 −

示例

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
public class FireEvntClickJs{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
      "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();       driver.get("https://tutorialspoint.com/about/about_careers.htm");
      // identify link
      WebElement m = driver.findElement(By.linkText("Write for us"));
      //Javascript Executor
      JavascriptExecutor j = (JavascriptExecutor) driver;
      j.executeScript("arguments[0].click();", m);
      System.out.println("Page title after click: " + driver.getTitle());
      driver.quit();
   }
}

输出

更新于: 02-2-2021

2K 次查看

开启你的 职业生涯

完成课程获得认证

开始学习
广告