zoukankan      html  css  js  c++  java
  • ui自动化--鼠标操作ActionChains

    需要先引入鼠标操作模块:from selenium.webdriver.common.action_chains import ActionChains

    实际上ActionChains这个模块的实现的核心思想就是,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个List里,当你调用perform()方法时,队列中的时间会依次执行

    鼠标拖拽:ActionChains(driver).drag_and_drop(source=source,target=target)

    from selenium.webdriver.common.action_chains import ActionChains
    #获取到元素
    el=driver.find_element_by_css_selector('#a')
    dis1=driver.find_element_by_css_selector('#dis1')
    ActionChains(driver).move_to_element(el).click(dis1).perform()#移动到某个元素上,并点击元素dis1
    
    
    source=driver.find_element_by_css_selector('#dragger')
    target=driver.find_element_by_css_selector('#i1')
    source1=driver.find_element_by_css_selector('#dragger1')
    target1=driver.find_element_by_css_selector('#i2')
    source2=driver.find_element_by_css_selector('#dragger2')
    target2=driver.find_element_by_css_selector('#i3')
    source3=driver.find_element_by_css_selector('#dragger3')
    target3=driver.find_element_by_css_selector('#i4')
    ActionChains(driver).drag_and_drop(source,target).drag_and_drop(source1,target1).drag_and_drop(source2,target2).drag_and_drop(source3,target3).perform()#
    #只有再perform的时候才会执行。先前的drag_and_drop只是将操作加入到了一个list种,再执行perform函数的时候,才会依次执行list种的操作

     鼠标点击

    # 单击事件,可接受elementObj
    ActionChains(driver).click()
     
    # 双击事件,可接受elementObj
    ActionChains(driver).double_click()
     
    # 点击鼠标右键
    ActionChains(driver).context_click()
     
    # 点击某个元素不松开,接收elementObj
    ActionChains(driver).click_and_hold()
     
    # # 某个元素上松开鼠标左键,接收elementObj
    ActionChains(driver).release()
  • 相关阅读:
    freebsd安装mysql
    freebsd安装ports
    分布式拒绝服务攻击
    如何用命令获知当前是一年中的第多少周和今天是周几
    freebsd软件包下载地址
    mod_wsgi的两种模式
    freebsd中/etc/rc.conf配置文件导致不能启动的问题
    进程ID[PID(Process ID)]与端口号[(Port ID)]的联系
    Java EE之HttpServletRequest
    Chrome之控制台使用【转载】
  • 原文地址:https://www.cnblogs.com/bendouyao/p/9302319.html
Copyright © 2011-2022 走看看