Java&Selenium自动化测试调用JS实现单击

/*
* the method of invoking js to do something
*
* @author davieyang
* @create 2018-08-05 1:37
*/
package util;
import org.openqa.selenium.*;
import java.util.Arrays; public class JavaScriptToDo {
/**
*
* @param driver 浏览器驱动
* @param xpath xpath定位表达式
*/
public static void javaScriptClick(WebDriver driver, String xpath) {
WebElement element = driver.findElement(By.xpath(xpath));
try{
if(element.isEnabled() && element.isDisplayed()){
System.out.println("使用JS进行也面元素单击");
//执行JS语句arguments[0].click();
((JavascriptExecutor) driver).executeScript("arguments[0].click();", element);
}else {
System.out.println("页面上元素无法进行单击操作");
}
}catch (StaleElementReferenceException e){
System.out.println("页面元素没有附加在页面中" + Arrays.toString(e.getStackTrace()));
}catch (NoSuchElementException e){
System.out.println("在页面中没有找到要操作的元素" + Arrays.toString(e.getStackTrace()));
}catch (Exception e){
System.out.println("无法完成单击操作" + Arrays.toString(e.getStackTrace()));
}
}
}

最新文章

  1. Unique Paths II
  2. 关于Class.getResource和ClassLoader.getResource的路径问题
  3. Grid画边框
  4. MVC4发布到IIS7报404错误
  5. OPENCV3.1+VS 坑我笔记!
  6. Centos 7下安装Oracle 12c
  7. JavaEE Tutorials (29) - Duke辅导案例研究示例
  8. JAVA面向对象思想
  9. NetFPGA-1G-CML从零开始环境配置
  10. 复习交换代数——Noether正规化
  11. 统计字符串中字符出现的次数(||和&&的区别)
  12. 【LeetCode刷题系列 - 003题】Longest Substring Without Repeating Characters
  13. Java基础——Oracle(一)
  14. Android开发——Fragment知识整理(一)
  15. table的td的1%
  16. Android之Glide(非常好用的图片加载框架)
  17. js使用s:property标签接收json格式数据
  18. Elastic stack ——X-Pack安装
  19. mysql数据库表插入单条数据/批量插入数据
  20. 九度OJ--1163(C++)

热门文章

  1. conda安装的国内镜像配置,实现快速下载
  2. 最新 二三四五java校招面经 (含整理过的面试题大全)
  3. MySQL的数据库时间与电脑系统时间不一致
  4. 4、1 IK分词器
  5. Java 文件下载工具类
  6. 通过js操作,将div设置为contenteditable的内容设为全选状态
  7. Acquire and Release Fences
  8. aPlugForUNIX(POJ-1087)【最大流】
  9. nodejs 对 png 图片的像素级别处理
  10. Tomcat与WAS应用中间件差异化分析研究