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的Bottle框架的一些使用技巧介绍
Apr 08 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
利用python批量检查网站的可用性
Sep 09 Python
简述Python2与Python3的不同点
Jan 21 Python
用python实现百度翻译的示例代码
Mar 09 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
Python实现搜索算法的实例代码
Jan 02 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
python基于tkinter制作下班倒计时工具
Apr 28 Python
Python中with上下文管理协议的作用及用法
Mar 18 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中实现中文字符进制转换原理分析
2011/12/06 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python分析apache访问日志脚本分享
2015/02/26 Python
Python实现的批量下载RFC文档
2015/03/10 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
基于python实现聊天室程序
2018/07/27 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
python实现同一局域网下传输图片
2020/03/20 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
员工培训协议书
2014/09/15 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
速龙x4-860k处理器相当于i几
2022/04/20 数码科技
使用Django框架创建项目
2022/06/10 Python