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

  • 相关阅读:
    装箱,拆箱
    service 入门
    反射的文章
    二叉树的先序遍历,中序遍历,后续遍历 (文章)
    QTP里的DOM应用
    QTP对Excel的操作(EOM)
    QTP实用小技巧(1)
    QTP环境变量的动态生成与加载(深入篇)
    自动化测试基础
    QTP正则表达式
  • 原文地址:https://www.cnblogs.com/lozz/p/7808334.html
Copyright © 2011-2022 走看看