zoukankan      html  css  js  c++  java
  • Selenium 2自动化测试实战10(鼠标事件)

    一、鼠标事件


    1. webdriver中,关于鼠标操作的方法封装在ActionChains类中
    ActionChains类提供了鼠标操作的常用方法:
    perform:执行所有ActionChains中存储的行为
    context_click():右击
    double_click():双击
    drag_and_drop():拖动
    move_to_element():鼠标悬停


    2. 鼠标右击操作

    #yunpan.py
    #coding:utf-8
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium import webdriver
    
    driver=webdriver.Chrome()
    driver.get("https://yunpan.360.cn")
    #....... 
    #定位到要右击的元素
    right_click=driver.find_element_by_id("XXX")
    #对定位到的元素执行鼠标右键操作
    ActionChains(driver).context_click(right_click).perform() 

    (1)from selenium.webdriver.common.action_chains import ActionChains
      导入提供鼠标操作的ActionChains类。
    (2)ActionChains(driver)
      调用ActionChains()类,将浏览器驱动driver作为参数传入
    (3)context_cilick(right_click)
      context_click()方法用于模拟鼠标右键操作,在调用时需要指定元素定位
    (4)perform()
      执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作
    3. 鼠标悬停
    move_to_element()方法可以模拟鼠标悬停的动作,器用法与context_click()相同

    #mouse.py
    #定位到要悬停的元素
    above=driver.find_element_by_id('xxx')
    
    #对定位到的元素执行悬停操作
    ActionChains(driver).move_to_element(above).perform()
    #.....
    

     

    4. 鼠标双击操作
    double_click()方法用于模拟鼠标双击操作

    #mouse.py
    #定位到要悬停的元素
    double_click=driver.find_element_by_id('xxx')
    
    #对定位到的元素执行双击操作
    ActionChains(driver).double_click(double_click).perform()
    #.....
    

     

    5. 鼠标拖放操作
    drag_and_drop(source,target)在源元素上按住鼠标左键,然后移动到目标元素上释放
    source:鼠标拖动的源元素
    target:鼠标释放的目标元素

    #mouse.py
    #........
    
    #定位元素的原位置
    element=driver.find_element_by_id("XX")
    #定位元素要移动到的目标位置
    target=driver.find_element_by_id("XX")
    
    #执行元素的拖放操作
    ActionChains(driver).drag_and_drop(element,target).perform()
    #.......
    

      






  • 相关阅读:
    mysql主从配置的过程
    redis 命令行客户端utf8中文乱码问题
    十五分钟介绍 Redis数据结构--学习笔记
    70路小报:用PV和UV作为网站衡量指标已经过时
    安装redis环境
    网站统计IP PV UV实现原理
    服务器启动脚本 /etc/rc.local
    LeetCode: Longest Valid Parentheses
    LeetCode: Next Permutation & Permutations1,2
    LeetCode: divideInteger
  • 原文地址:https://www.cnblogs.com/Rita-LJ/p/11543459.html
Copyright © 2011-2022 走看看