zoukankan      html  css  js  c++  java
  • selenium 鼠标悬停

    针对页面上的二级菜单,需要鼠标悬停才能进行操作。

    /**
       * Clicks (without releasing) in the middle of the given element. This is equivalent to:
       * <i>Actions.moveToElement(onElement).clickAndHold()</i>
       *
       * @param onElement Element to move to and click.
       * @return A self reference.
       */
      public Actions clickAndHold(WebElement onElement) {
        action.addAction(new ClickAndHoldAction(mouse, (Locatable) onElement));
        return this;
      }
    View Code

    使用方法:最后一定不要忘记perform()

    Actions actions = new Actions(driver);
    actions.clickAndHold(webElement).perform();

    或者:

    Actions actions = new Actions(driver);
    actions.moveToElement(webElement).clickAndHold().perform();

    或者:使用js来模拟鼠标悬停

    /**
         * JScript实现鼠标悬停
       * @author lozz
    */ public void mouseHoverJScript(WebElement HoverElement) { // TODO Auto-generated method stub try { if (isElementPresent(HoverElement)) { String mouseOverScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('mouseover', true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onmouseover');}"; ((JavascriptExecutor) driver).executeScript(mouseOverScript, HoverElement); } else { System.out.println("Element was not visible to hover " + "\n"); } } catch (StaleElementReferenceException e) { // TODO: handle exception System.out.println("Element with " + HoverElement + "元素未附加到页面文档" + e.getStackTrace()); } catch (NoSuchElementException e) { // TODO: handle exception System.out.println("Element " + HoverElement + " 元素未在DOM中没有找到" + e.getStackTrace()); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); System.out.println("悬停时发生错误" + e.getStackTrace()); } }

     --- 转载请说明来源 ,thx

  • 相关阅读:
    FPGA中latency与delay概念的区别
    @transactional注解在什么情况下会失效,为什么。
    一个ArrayList在循环过程中删除,会不会出问题,为什么?
    HashMap在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么
    JVM调优
    正确截取List指定位置的内容
    ArrayList源码解析
    接口和抽象类的区别(JDK1.8)
    Hashtable源码解析
    Kotlin实践记录
  • 原文地址:https://www.cnblogs.com/lozz/p/7808334.html
Copyright © 2011-2022 走看看