zoukankan      html  css  js  c++  java
  • selenium(3)-针对鼠标的操作

    背景

    用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。

    而selenium给我们提供了一个类来处理这类事件-----------ActionChains

    有哪些鼠标操作呢

    • 执行操作
    • 左键,右键单击双击
    • 鼠标悬停到元素,漂移处
    • 长按
    • 拖动

    执行操作

    perform() 方法

    主要是调用其他操作方法后,都要再次调用这个方法,表示执行某个鼠标操作,后面会有例子

    左键右键,单击双击

     1 from selenium.webdriver import ActionChains
     2 from selenium import webdriver
     3 
     4 driver = webdriver.Chrome(r"H:/cci/data/chromedriver.exe")
     5 
     6 # 创建实例
     7 chains = ActionChains(driver)
     8 
     9 # 访问网址
    10 driver.get("禅道的url")
    11 
    12 # 登录按钮
    13 username = driver.find_element_by_id("account")
    14 login = driver.find_element_by_id("submit")
    15 password = driver.find_element_by_name("password")
    16 
    17 # 左键点击
    18 chains.click(username).perform()
    19 
    20 # 右键点击
    21 chains.context_click(username).perform()
    22 
    23 # 双击
    24 chains.double_click(password).perform()

    鼠标悬停到元素,指定偏移处

    1 # 悬停到登录按钮
    2 chains.move_to_element(login_btn).perform()
    3 
    4 # 悬停到指定偏移量
    5 chains.move_to_element_with_offset(login_btn, 2, 2).perform()

    知识点

    move_to_element_with_offset() 是先找到元素,再根据元素位置偏移指定偏移量

    长按

    1 # 长按
    2 chains.click_and_hold(login_btn).perform()

    拖动

    1 # 拖动到某个元素后松开
    2 chains.drag_and_drop(source=username, target=password)
    3 
    4 # 拖动到某个坐标值
    5 chains.drag_and_drop_by_offset(source=username, xoffset=20, yoffset=20)

    知识小节

    • drag_and_drop 将源元素拖动到目标元素处
    • drag_and_drop_by_offset 将源元素拖动到指定的坐标
  • 相关阅读:
    js日历,使用datepicker.js,ui.core.js,jquery-1.7.1.js
    android设置按钮按下的不同效果图
    a标签阻止跳转的方法
    获取浏览器中选中部分,比如文本等
    Android Studio does not point to a valid jvm
    Drawerlayout
    webviewactivity
    ViewFilpper
    Physik
    Betriebssystem
  • 原文地址:https://www.cnblogs.com/xinhua19/p/13156740.html
Copyright © 2011-2022 走看看