如何在 Selenium 中使用 JavaScript 點選元素?


我們可以在 Selenium 中使用 JavaScript 執行器來點選一個元素。

Selenium 可以藉助 executeScript 方法來執行 JavaScript 命令。

有時在點選連結時,會遇到 IllegalStateException,為了避免該異常,JavaScript 執行器被用於代替 click 方法。要傳遞給 executeScript 方法來點選元素的引數是 - arguments[0].click(); 和 Web 元素定位器。

語法

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

讓我們點選下面頁面上的“公司”連結 −

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.JavascriptExecutor;
public class ClickLnkJS{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      //implicit wait
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

      driver.get("https://tutorialspoint.tw/about/about_careers.htm");
      // identify element
      WebElement m = driver.findElement(By.linkText("Company"));
      // click with Javascript Executor
      JavascriptExecutor js = (JavascriptExecutor) driver;
      js.executeScript("arguments[0].click();", m);
      System.out.println("Page navigated to:" + driver.getTitle());
      driver.quit();
   }
}

輸出

更新於: 03-APR-2021

12K+ 瀏覽量

開啟你的職業生涯

完成課程即可獲得認證

開始
廣告