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网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
Jun 09 Python
Python中变量交换的例子
Aug 25 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
Django 模型类(models.py)的定义详解
Jul 19 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
解决paramiko执行命令超时的问题
Apr 16 Python
Python如何根据时间序列数据作图
May 12 Python
Python配置pip国内镜像源的实现
Aug 20 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 Python
Python&Matlab实现樱花的绘制
Apr 07 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根据操作系统转换文件名大小写的方法
2014/02/24 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP简单日历实现方法
2016/07/20 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
JavaScript File分段上传
2016/03/10 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
简单实现js进度条加载效果
2020/03/25 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
基于Python实现一个简单的银行转账操作
2016/03/06 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
AUC计算方法与Python实现代码
2020/02/28 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
公司晚会主持词
2014/03/22 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
高考学习决心书
2015/02/04 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL