selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)
上一篇是元素的定位,那么定位元素的目的就是对元素进行操作,例如写入文本,点击按钮,拖动等等的操作
(1)简单元素操作
简单元素操作
- find_element_by_id("kw").clear() #文本框清空
- find_element_by_id("kw").send_keys("selenium") #文本框输入
- find_element_by_id("button").click() #点击按钮操作
(2)webElement接口常用的操作:
WebElement类内容:获取元素属性、位置、是否可见、元素尺寸、元素截图等
- from selenium.webdriver.remote import webelement
- find_element_by_id("kw").get_attribute("type") #获取元素的属性值
- find_element_by_id("submit").submit() #提交表单
- flag = find_element_by_id("kw").is_displayed() #获取元素是否可见,值为True或False
- size = find_element_by_id("kw").size #获取元素的大小
(3)鼠标操作:双击,鼠标右键,鼠标移动,拖动到元素上等操作
ActionChains(driver):存储鼠标的操作
perform():对指定的鼠标操作的执行
- from selenium.webdriver.common.action_chains import ActionChains
- right = driver.find_element_by_id("id")
- ActionChains(driver).context_clcik("right").perform() #鼠标右键
- left = driver.find_element_by_id("id")
- ActionChains(driver).click_and_hold("left").perform() #鼠标左键
- double = driver.find_element_by_id("id")
- ActionChains(driver).double_clcik("double").perform() #鼠标双击
- move = driver.find_element_by_id("id")
- ActionChains(driver).move_to_element("move").perform() #鼠标移动到某个元素上
- start = driver.find_element_by_id("id1")
- end = driver.find_element_by_id("id2")
- ActionChains(driver).drag_and_drop(start,end).perform() #鼠标拖动某个元素从start位置到end的位置
(4)键盘操作
键盘的操作基于send_keys()方法
- from selenium.webdriver.common.Keys import Keys
- driver.find_element_by_id("kw").send_keys(KEY.BACK_SPACE) #删除键
- driver.find_element_by_id("kw").send_keys(KEY.ENTER) #回车键
- driver.find_element_by_id("kw").send_keys(KEY.SPACE) #空格键
- driver.find_element_by_id("kw").send_keys(KEY.TAB) #制表符
- driver.find_element_by_id("kw").send_keys(KEY.ESCAPE) #退出键
- driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'a') #全选
- driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'c') #复制
- driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'v') #粘贴
- driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'x') 剪切
selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)的更多相关文章
- selenium + python自动化测试unittest框架学习(二)
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...
- selenium + python自动化测试unittest框架学习(五)webdriver的二次封装
因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<se ...
- selenium + python自动化测试unittest框架学习(一)selenium原理及应用
unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...
- selenium + python自动化测试unittest框架学习(三)webdriver元素定位(一)
1.Webdriver原理 webdirver是一款web自动化操作工具,为浏览器提供统一的webdriver接口,由client也就是我们的测试脚本提交请求,remote server浏览器进行响应 ...
- selenium + python自动化测试unittest框架学习(三)webdriver对页面其他控件操作(三)
1.对话框,下拉框 (1)对话框的有两种,一种是iframe格式的,需要switch_to_iframe()进行定位,现在大部分的对话框是div格式的,这种格式的可以通过层级定位来定位元素,先定位对话 ...
- selenium + python自动化测试unittest框架学习(七)随机生成姓名
在自动化测试过程中经常要测试到添加用户的操作,每次都要输入中文,原本是找了十几个中文写成了列表,然后从列表中随机取出填入用户名文本框中,随着测试的增加,发现同名的人搜索出来一大堆,最后在网上找了个随机 ...
- selenium + python自动化测试unittest框架学习(四)python导入模块及包知识点
在写脚本的时候,发现导入某些模块,经常报错提示导入模块失败,这里来恶补下python导入模块的知识点. 1.模块导入时文件查找顺序 在脚本中,import xxx模块时的具体步骤: (1)新建一个mo ...
- selenium + python自动化测试unittest框架学习(六)分页
接触的项目分页的形式是以下形式: 想要获取总页数后,遍历执行翻页的功能,但由于分页是以javascript方法实现的,每次点击确定按钮后,页面就回刷新,webelement元素过期无法遍历下一个进行翻 ...
- selenium + python 自动化测试环境搭建
selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...
随机推荐
- 167 -两个Sum II - 输入数组已排序
给定已按升序排序的整数数组,找到两个数字,使它们相加到特定的目标数. 函数twoSum应返回两个数字的索引,以便它们加起来到目标,其中index1必须小于index2. 注意: 您返回的答案(inde ...
- HTTP2 概述
HTTP/2,也就是超文本传输协议第2版,不论是1还是2,HTTP的基本语义是不变的,比如方法语义(GET/PUST/PUT/DELETE),状态码(200/404/500等),Range Reque ...
- java设计模式-----4、单例模式
单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的一个实例对象.也就是说,在整个程序空间中,该类只存在一个实例对象. 其实,GoF对单例模式的定义是:保证一个类,只有一个实例存在 ...
- MD5计算器
private void radioBtnFlie_CheckedChanged(object sender, EventArgs e) { RadioButton rb = sender as Ra ...
- <Android 应用 之路> 百度地图API使用(4)
前言 百度地图的定位功能和基础地图功能是分开的,使用的是另外的jar包和so库文件,详情请关注官网: 百度定位SDK 配置 下载对应的jar包和so库,然后移动到lib目录下 AS中注意事项 sour ...
- BootStrap 模态框禁用空白处点击关闭[转]
模态框为信息编辑窗口,涉及好多内容,填了半天,若一不小心点了空白处..... $('#myModal').modal({backdrop: 'static', keyboard: false}); - ...
- LeetCode赛题394----Decode String
394. Decode String Given an encoded string, return it's decoded string. The encoding rule is: k[enco ...
- Linux 的su 与sudo 的区别,查看所有用户
首先,我们要知道系统当中存在哪些用户. 1.用户名和密码的存储位置 存储帐号的文件:/etc/passwd 存储密码的文件:/etc/shadow 通过/etc/shadow获取的只是密码加密后的Ha ...
- 【html/css】模态框的实现
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Java 快速入门-06-JDK 目录文件说明
Java 快速入门-06-JDK 目录文件说明 JDK:开发环境,搞技术的人或者应用服务器使用 JRE:运行环境,如浏览器插件或者Swing界面的客户端等最终用户需要使用 JDK自含一个JRE,并依赖 ...