如何在 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.tw/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 次檢視

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告