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,不需要可以不加

  • 相关阅读:
    oracle 分析函数3
    oracle 分析函数4
    oracle 分析函数2
    postgres
    博客系统
    Java 笔试面试 算法编程篇 一
    Java 笔试面试 基础篇 一
    Struts2
    mysql 数据类型
    ExceptionDemo
  • 原文地址:https://www.cnblogs.com/liho/p/12410078.html
Copyright © 2011-2022 走看看