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编程语言的35个与众不同之处(语言特征和使用技巧)
Jul 07 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
python requests post多层字典的方法
Dec 27 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
在Python中,不用while和for循环遍历列表的实例
Feb 20 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
django将数组传递给前台模板的方法
Aug 06 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 Python
Python中如何添加自定义模块
Jun 09 Python
python实现视频压缩功能
Dec 18 Python
pytorch查看网络参数显存占用量等操作
May 12 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
我的群发邮件程序
2006/10/09 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
JS 面向对象的5钟写法
2009/07/31 Javascript
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python读取xlsx的方法
2018/12/25 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python excel转换csv代码实例
2019/08/26 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
高中生操行评语大全
2014/04/25 职场文书
买房子个人收入证明
2014/10/12 职场文书
2014年环卫工作总结
2014/11/22 职场文书
2014企业年终工作总结
2014/12/23 职场文书
欠条格式范本
2015/07/03 职场文书
Python实现聚类K-means算法详解
2022/07/15 Python