如何在 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(); } }
輸出
廣告