Java&Selenium自动化测试调用JS实现单击
1/*
2 * the method of invoking js to do something
3 *
4 * @author davieyang
5 * @create 2018-08-05 1:37
6 */
7package util;
8import org.openqa.selenium.*;
9import java.util.Arrays;
10
11public class JavaScriptToDo {
12 141516
17 public static void javaScriptClick(WebDriver driver, String xpath) {
18 WebElement element = driver.findElement(By.xpath(xpath));
19 try{
20 if(element.isEnabled() && element.isDisplayed()){
21 System.out.println("使用JS进行也面元素单击");
22 //执行JS语句arguments[0].click();
23 ((JavascriptExecutor) driver).executeScript("arguments[0].click();", element);
24 }else {
25 System.out.println("页面上元素无法进行单击操作");
26 }
27 }catch (StaleElementReferenceException e){
28 System.out.println("页面元素没有附加在页面中" + Arrays.toString(e.getStackTrace()));
29 }catch (NoSuchElementException e){
30 System.out.println("在页面中没有找到要操作的元素" + Arrays.toString(e.getStackTrace()));
31 }catch (Exception e){
32 System.out.println("无法完成单击操作" + Arrays.toString(e.getStackTrace()));
33 }
34 }
35}