Selenium đã có sẵn hàm click()
nhưng trong một số trường hợp trong quá trình làm test bạn sẽ cần tới cách này. Bản thân Selenium được xây dựng từ nền tảng JavaScripts nên đây cũng là một trong những cách mình có thể dùng nó nếu như những cách thông thường không làm được.
Đầu tiên ta cần khởi tạo 1 biến executor
JavascriptExecutor executor = (JavascriptExecutor) driver;
Sử dụng đoạn code dưới đây để dùng JavaScript click vào một đối tượng
executor.executeScript("arguments[0].click();", element);
Và để sau này có thể tái sử dụng lại ta có thể tạo cho nó một hàm:
private void clickElement(WebElement element) {
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
}
Và đây là cách dùng
WebElement seeSearchResultsButton = driver.findElement(By.cssSelector(".btn-search"));
clickElement(seeSearchResultsButton);