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之画圈还不简单吗?
Sep 20 Python
python计算N天之后日期的方法
Mar 31 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
Sep 15 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 Python
使用python将图片按标签分入不同文件夹的方法
Dec 08 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
python开发游戏的前期准备
May 05 Python
对python 调用类属性的方法详解
Jul 02 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
python变量的存储原理详解
Jul 10 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
Python环境配置实现pip加速过程解析
Nov 27 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/08/03 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
elementUI多选框反选的实现代码
2019/04/03 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
python利用datetime模块计算时间差
2015/08/04 Python
python人民币小写转大写辅助工具
2018/06/20 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Python Django 命名空间模式的实现
2019/08/09 Python
python读写csv文件的方法
2019/08/13 Python
Python中Unittest框架的具体使用
2019/08/27 Python
python def 定义函数,调用函数方式
2020/06/02 Python
您的网上新华书店:文轩网
2016/08/24 全球购物
法人授权委托书格式
2014/04/08 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
职业规划实施方案
2014/06/10 职场文书
2014年团支书工作总结
2014/11/14 职场文书
汽车转让协议书范本
2014/12/07 职场文书
比赛主持人开场白
2015/05/29 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript