ActionChains类继承自object类,但是需要为其传入一个driver对象,即ActionChains(driver)

此类常用于模拟鼠标键盘操作,其API列表如下:

perform()   此方法执行储存的所有动作

单击

 click(self, on_element=None),此方法即为鼠标单击动作,输入参数为一个元素,可以不输入

  用法:ActionChains(driver).click(driver.find_element_by_id("input")

单击并保持

 click_and_hold(self, on_element=None),此方法点击一个元素并保持,参数为一个元素

右击

 context_click(self, on_element=None),此方法为右击一个元素,参数为一个元素

双击

 double_click(self, on_element=None),此方法为双击一个元素,参数为一个元素

拖放(将一个元素拖至另外一个元素)

 drag_and_drop(self, source, target),此方法将source元素拖放至target元素处,参数为两个元素

拖放(将一个元素拖放至另外一个位置)

 drag_and_drop_by_offset(self, source, xoffset, yoffset),此方法将一个source元素拖放至xoffset, yoffset处,参数为一个元素,两个数值距离(需为整形)

按下某个按键

 key_down(self, value, element=None),此方法为按下某个按键如ctrl,shift,alt,参数为一个按键和一个元素(可为空)

 如模拟ctrl+c:ActionsChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()

松开一个按键

 key_up(self, value, element=None),此方法为松开某个按键如ctrl,shift,alt,参数为一个按键和一个元素(可为空),需要和key_down配合使用

移动鼠标一段横纵距离

 move_by_offset(self, xoffset, yoffset),此方法为移动鼠标至指定的坐标,参数为两个数值(需为整形)

移动至某个元素

 move_to_element(self, to_element),此方法为移动鼠标至一个指定的元素,参数为一个元素

    dri=driver.find_element_by_id(register_dir['id_username'])
              ActionChains(driver).move_to_element(dri).click()

移动至某个元素,使用距离

 move_to_element_with_offset(self, to_element, xoffset, yoffset)此方法为移动鼠标至一个指定的元素,参数为一个元素,和两个整形数字

松开鼠标

 release(self, on_element=None),此方法为松开鼠标,和拖放等一起使用

键盘输入

 send_keys(self, *keys_to_send),此方法为向一个元素输入一个字符串,需先找到该元素

 send_keys_to_element(self, element, *keys_to_send),此方法为向一个元素输入一个字符串,参数为一个元素和一个字符串

Python selenium ActionChains 基本操作的更多相关文章

  1. python selenium webdriver入门基本操作

    python selenium webdriver入门基本操作 未经作者允许,禁止转载! from selenium import webdriver import time driver=webdr ...

  2. Python+Selenium基础入门及实践

    Python+Selenium基础入门及实践 32018.08.29 11:21:52字数 3220阅读 23422 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 ...

  3. 使用python selenium进行自动化functional test

    Why Automation Testing 现在似乎大家都一致认同一个项目应该有足够多的测试来保证功能的正常运作,而且这些此处的‘测试’特指自动化测试:并且大多数人会认为如果还有哪个项目依然采用人工 ...

  4. WEB自动化(Python+selenium)的API

    在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家                                         ...

  5. python+selenium 自动化测试实战

    一.前言: 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过11一直没有更新博客,今天整理一下实战项目的代码共大家学习.(注:项目是针对我们公司内部系统的测试,只能内部网络访问, ...

  6. python selenium TouchAction模拟移动端触摸操作(十八)

    最近做移动端H5页面的自动化测试时候,需要模拟一些上拉,下滑的操作,最初考虑使用使用selenium ActionChains来模拟操作,但是ActionChains 只是针对PC端程序鼠标模拟的一系 ...

  7. Python Selenium 文件上传之SendKeys

    昨天写了Web 文件下载的ui自动化,下载之后,今天就要写web 文件上传的功能了. 当然从折腾了俩小时才上传成功.下面写一下自己操作的步骤 首先网上说的有很多方法 如 input 标签的最好做了,直 ...

  8. Python+Selenium笔记(十四)鼠标与键盘事件

     (一) 前言 Webdriver高级应用的API,允许我们模拟简单到复杂的键盘和鼠标事件,如拖拽操作.快捷键组合.长按以及鼠标右键操作,都是通过使用webdriver的Python API 中的Ac ...

  9. Python+Selenium(webdriver常用API)

    总结了Python+selenium常用的一些方法函数,以后有新增再随时更新: 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口:  ...

随机推荐

  1. 点到圆弧的距离(csu1503)+几何

    1503: 点到圆弧的距离 Time Limit: 1 Sec  Memory Limit: 128 MB  Special JudgeSubmit: 325  Solved: 70[Submit][ ...

  2. 7个拒绝使用TypeScript的借口

    译者按: TypeScript 学习成本不高,项目切换成本不低,不过还是值得试一试的! 原文:7 bad excuses for not using TypeScript 译者: Fundebug 为 ...

  3. 快速掌握JavaScript面试基础知识(三)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  4. Tars 服务调服务

    1,创建一个 tars 服务工程 2,把需要调用的服务的 客户端接口文件 拷贝到当前服务 3,构建通信器 CommunicatorConfig 调用,如果是 springboot 开发客户端可以使用注 ...

  5. Mysql LIMIT 分页

    格式: LIMIT index, size     // index:从哪一行(第几条)开始查,size:多少条 分页: LIMIT (currentPage-1)*pageSize, pageSiz ...

  6. Android为TV端助力 修改videoview的宽度和高度

    如果直接用android的videoview.他是不允许你随意的修改宽度和高度的,所以我们要重写videoview! package com.hysmarthotel.view; import and ...

  7. 「Android」消息驱动Looper和Handler类分析

    Android系统中的消息驱动工作原理: 1.有一个消息队列,可以往这个消息队列中投递消息; 2.有一个消息循环,不断的从消息队列中取得消息,然后处理. 工作流程: 1.事件源将待处理的消息加入到消息 ...

  8. 解决OpenCV JavaCameraView相机preview方向问题

    网上找了很多解决都是有问题的,研究了半天源码解决了这个问题.我是从整个相机启动和数据传输的过程着手的,这里捡重点介绍一下,最后会贴上修改后的两个源文件. 首先要知道一个概念. 图里的小圆圈是Home按 ...

  9. 章节七、2-Linked List

    package introduction9; import java.util.ArrayList; import java.util.LinkedList; import java.util.Lis ...

  10. 使用MUI/html5plus集成微信支付需要注意的几点问题

    1)需要在服务器根目录放上证书,从微信开放平台下载 2)客户端组件目录名一定要按照微信要求