zoukankan      html  css  js  c++  java
  • Selenium定位div弹框元素

    了解div弹框特点:

    1、div弹框按钮和普通元素定位方式一样;

    2、定位到div弹框还得判断这个弹框是否被隐藏,一般情况下div弹框都会有style=" display: none;"属性;

    3、如果div弹框出现display属性就会隐藏,也就是说没有display属性 ,这时div弹框出现;

    4、如果找到按钮但定位不到,这时可以设置等待时间,等待页面加载完成时再定位元素。

    使用js方式判断div弹框是否隐藏

    /**
    *1、写一段js查找div弹框style属性
    *2、js 加return关键字在执行的时候可以返回结果
    */
    String js = "return document.getElementsByClassName('el-message-box__wrapper')[0].style";
    //执行js后得到的结果是List,所以将结果转换为List
    List<Object> resultList = (List<Object>) ((JavascriptExecutor) driver).executeScript(js);
    //如果list.size()==1,就点击弹框的按钮(根据实际情况写)
    if(resultList.size()==1){
    //如果有弹框定位"确定"按钮,点击确定
    ele.findElementByXpathClick("//button[contains(@class,'el-button--primary')]", driver);
    Thread.sleep(3000);
    }else{
     //.......
    }

     一开始获取不到js的结果,后面查资料可以加“return”获取到结果

    driver.executeScript(js):执行js代码

    如果不加return  执行js后返回值是null

    如果加return      执行js后返回值有WebElement、Long、Double、bool、String、List

    注:如果需要返回值就加return,不需要可以不加

  • 相关阅读:
    移动端触摸右侧菜单栏,页面内容对应项滚动到最上方
    swiper使用中一些点的总结
    javaScript正则表达式入门
    javaScript之数组操作方法(一)
    初识vue
    焦点控制切换和轮播
    文本内容只显示两行,然后加...
    图片父容器高度不定的图片垂直居中
    css3图片垂直居中
    【C#】两个list根据某个元素比较差集
  • 原文地址:https://www.cnblogs.com/liho/p/12410078.html
Copyright © 2011-2022 走看看