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. Android Studio 学习(四) 数据库

    文件存储 写数据 String data = "Data ti save"; FileOutputStream out =null; BufferedWriter writer = ...

  2. WPF Modern UI 主题更换原理

    WPF Modern UI 主题更换原理 一 . 如何更换主题? 二 . 代码分析 代码路径 : FirstFloor.ModernUI.App / Content / SettingsAppeara ...

  3. 字符串拼接引发的BUG

    译者按: bug虽小,却是个磨人的小妖精! 原文: Fixing a bug: when concatenated strings turn into numbers in JavaScript 译者 ...

  4. 实现响应式——CSS变量

    CSS 变量是 CSS 引入的一个新特性,目前绝大多数浏览器已经支持了,它可以帮助我们用更少的代码写出同样多的样式,大大提高了工作效率,本篇文章将教你如何使用 CSS 变量(css variable) ...

  5. for、for / in循环

    1.for循环 循环代码块一定的次数 <!DOCTYPE html> <html lang="en" dir="ltr"> <he ...

  6. [代码笔记]VUE路由根据返回状态判断添加响应拦截器

    //返回状态判断(添加响应拦截器) Axios.interceptors.response.use( res => { //对响应数据做些事 if (res.data && !r ...

  7. vue+webpack 安装常见插件

    html-webpack-plugin 插件地址:https://www.npmjs.com/package...安装指令: npm install html-webpack-plugin --sav ...

  8. cf24D. Broken robot(高斯消元)

    题意 题目链接 Sol 今天上午的A题.想出来怎么做了但是没时间写了qwq 思路很简单,首先把转移方程列一下,发现每一个位置只会从下一行/左右转移过来,而且第N行都是0,那么往下转移的都可以回带. 剩 ...

  9. html 获取数据并发送给后端方式

    一.方式一 使用ajax提交 function detailed() { var date = $("#asset_ip").text() $.ajax({ url: " ...

  10. Java synchronized 线程同步

    同步方法 class MyTheard4 implements Runnable{ private int ticket; public MyTheard4(int ticket) { this.ti ...