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

  • 相关阅读:
    [mock open]PyUnit执行单元测试时使用字符串模拟文件对象
    bottle 0.5中的key-value数据库
    bottle模板中的替换
    返回不同值的小技巧
    带有参数的装饰器
    常用命令速查
    SQLAlchemy多线程下事务隔离机制详解
    Bancor 协议浅析
    Flask中 endpoint 解析
    pip 相关问题
  • 原文地址:https://www.cnblogs.com/lozz/p/7808334.html
Copyright © 2011-2022 走看看