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;
  }

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

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

或者:

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

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

/**
     * JScript实现鼠标悬停
     */
    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

时间: 2024-10-05 23:55:27

selenium -- 鼠标悬停的相关文章

python selenium 鼠标悬停

#鼠标悬停 chain = ActionChains(driver) implement = driver.find_element_by_link_text() chain.move_to_element(implement).perform() 模拟鼠标悬停后,后搜索需要内容

selenium webdriver + junit 鼠标悬停,出现另一个元素,点击这个元素的解决方法

转载自http://blog.csdn.net/hcx1234567/article/details/17605533 经千辛万苦,终于解决了 UI TA(test automation) 中的这个难题,必须记录一下. 前提是:需要测试的这个页面是用 google 的 angularjs 写的.许多页面效果是用 angularjs 自带的一些事件结合 css hover实现的.测试的 UI TA 框架用的是 selenium webdriver + junit . 问题是:页面上有一个效果:点击

不用js代码,在selenium里面实现鼠标悬停

一种简单的方式实现鼠标悬停,用selenium自带的Actions类中的 move_to_element() 方法很难实现,因为这个方法使得鼠标悬停一闪而过,不能达到悬停的效果.还是以百度首页右上角的按个"设置"为例,找到该按钮下的"搜索设置",从而进行点击,代码如下: from selenium import webdriverdriver = webdriver.Firefox()driver.get('https://www.baidu.com/index.p

selenium鼠标键盘事件(转)

概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys

自动化测试基础篇--Selenium鼠标键盘事件

前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和密码,怎么点击登录按钮,首先我们先回顾一下元素的基本操作. 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 4.提交表单:submit() 今天这篇文章着重讲一下键盘和鼠标的模拟事件. 一.鼠标事件 1.首先模拟鼠标的操作需要先导入鼠标模块: from selenium.webdriver.common.action_chains

selenium 鼠标事件

本文将总结 Selenium WebDriver 中的一些鼠标和键盘事件的使用,以及组合键的使用,并且将介绍 WebDriver 中没有实现的键盘事件(Keys 枚举中没有列举的按键)的扩展.举例说明扩展 Alt+PrtSc 组合键来截取当前活动窗口并将剪切板图像保存到文件. 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中

Selenium3+python3--如何定位鼠标悬停才显示的元素

follow yoyo 定位鼠标悬停才显示的元素,要引入新模块 # coding:utf-8from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Firefox()driver.get("http://www.baidu.com")# 定位百度页面上鼠标悬停设置按钮mouse = driver.find_eleme

鼠标悬停图片移动的效果

当前很多购物网站,像京东,蘑菇街这些都有对展示的图片做这种鼠标悬停图片上移,下移,左移或者右移效果, 实现代码很简单,就用css3的transform便可实现. 下列代码实现的是鼠标悬停,div向上移动30px,鼠标拿开div恢复原始位置. css: <style> div{ margin-top: 100px; width: 100px; height: 100px; background: pink; transition:All 0.4s ease-in-out;//让移动效果变得平滑自

HTML+CSS鼠标悬停效果

HTML+CSS实现鼠标悬停效果 HTML: <link href="style.css" rel="stylesheet"> <a class="social" href="https://webbb.be" target="_blank"> <div class="front"> <i class="fa fa-facebook&q