Selenium元素的常用操作方法分析


Posted in Python onAugust 10, 2018

本文实例讲述了Selenium元素的常用操作方法。分享给大家供大家参考,具体如下:

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

在前面一篇《Selenium定位元素操作》中已经介绍了如何对元素进行定位。定位只是第一步,定位之后需要对这个元素进行操作,或单击(按钮)或输入(文本框),下面就记录一下Selenium中元素的最常用的几个方法:

点击和输入

  • clear():清除文本
  • send_keys(value):按键模拟输入
  • click():单击元素
from selenium.webdriver import Chrome()
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')
driver.find_element_by_id('kw').clear()
driver.find_element_by_id('kw').send_keys('python')
driver.find_element_by_id('su').click()

提交

  • submit()

submit()方法用于提交表单,例如,在输入框输入关键字之后的回车操作,就可以通过该方法模拟:

from selenium.webdriver import Chrome
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')
element = driver.find_element_by_id('kw')
element.send_keys('python')
element.submit()

有时候submit()可以和click()方法互换来使用,submit()同样可以提交一个按钮,但submit()的应用范围远远没有click()广

其他常用方法

  • size:返回元素的尺寸
  • text:返回元素的内容
  • get_attribute(name):返回元素属性的值
  • is_displayed():设置该元素是否用户可见
from selenium.webdriver import Chrome()
driver = Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get('https://www.baidu.com/')
# 获取元素的尺寸
element = driver.find_element_by_id('su')
print(element.size)           # {'height': 36, 'width': 100}
# 获取元素的内容
element = driver.find_element_by_id('setf')
print(element.text)           # 把百度设为主页
# 获取元素中value属性的值
element = driver.find_element_by_id('su')
print(element.get_attribute('value')   # 百度一下
# 获取该元素是否用户可见
element = driver.find_element_by_id('su')
print(element.is_displayed())      # True

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python del()函数用法
Mar 24 Python
python连接池实现示例程序
Nov 26 Python
收藏整理的一些Python常用方法和技巧
May 18 Python
Django自定义分页效果
Jun 27 Python
python matplotlib实现双Y轴的实例
Feb 12 Python
python三引号输出方法
Feb 27 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
python 制作python包,封装成可用模块教程
Jul 13 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
Jul 27 Python
python中xlutils库用法浅析
Dec 29 Python
Python数据分析入门之数据读取与存储
May 13 Python
Selenium定位元素操作示例
Aug 10 #Python
判断python字典中key是否存在的两种方法
Aug 10 #Python
详解python的sorted函数对字典按key排序和按value排序
Aug 10 #Python
Selenium(Python web测试工具)基本用法详解
Aug 10 #Python
Python生成器generator用法示例
Aug 10 #Python
python 字典修改键(key)的几种方法
Aug 10 #Python
详解python 注释、变量、类型
Aug 10 #Python
You might like
php笔记之:AOP的应用
2013/04/24 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
vue生命周期实例小结
2018/08/15 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
vue实现循环切换动画
2018/10/17 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
参观考察邀请函范文
2014/01/29 职场文书
高二化学教学反思
2014/01/30 职场文书
秋季运动会开幕词
2015/01/28 职场文书
信访工作个人总结
2015/03/03 职场文书
经营场所证明范本
2015/06/19 职场文书
思想品德课教学反思
2016/02/24 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android