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复制文件代码实现
Dec 23 Python
利用Psyco提升Python运行速度
Dec 24 Python
Python EOL while scanning string literal问题解决方法
Sep 18 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
django 微信网页授权认证api的步骤详解
Jul 30 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
Jan 06 Python
python实现逆滤波与维纳滤波示例
Feb 26 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
如何学习Python time模块
Jun 03 Python
利用python绘制正态分布曲线
Jan 04 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 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的urlencode()URL编码函数浅析
2011/08/09 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
php中stream(流)的用法
2014/03/25 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
原生JavaScript实现进度条
2021/02/19 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
python爬取个性签名的方法
2018/06/17 Python
python循环输出三角形图案的例子
2019/11/22 Python
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
求职信写作要突出重点
2014/01/01 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
党校毕业心得体会
2014/09/13 职场文书
给老婆道歉的话
2015/01/20 职场文书
担保书格式范文
2015/09/22 职场文书
全国劳模先进事迹材料(2016精选版)
2016/02/25 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
mysq启动失败问题及场景分析
2021/07/15 MySQL