webdriver(python)学习笔记六——操作测试对象
定位到具体对象后,就需要对其进行操作,比如点击、输入内容等。
一般来说,webdriver中比较常用的操作对象的方法有下面几个
- click 点击对象
- send_keys 在对象上模拟按键输入
- clear 清除对象的内容,如果可以的话
前面文章提到,以登录百度,输入查询条件,点击按钮为例。代码如下:
# coding = utf-8
from selenium import webdriver browser = webdriver.Firefox() browser.get("http://www.baidu.com")
browser.find_element_by_id("kw").clear()
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
browser.quit()
其中
1、clear() 用于清除输入框的内容,比如百度输入框里默认有个“请输入关键字”的信息,再比如我们的登陆框一般默认会有“账号”“密码”这样的默认信息。clear可以帮助我们清除这些信息。
2、send_keys("XX") 用于在一个输入框里输入内容。
3、click() 用于点击一个按钮。
webelement部分用法:
· text 获取该元素的文本
· submit 提交表单
· get_attribute 获得属性值
text
# coding:utf-8 from selenium import webdriver
from time import sleep
import os dr=webdriver.Firefox()
dr.get('http://www.baidu.com')
sleep(1) #id=cp 元素的文本信息
data=dr.find_element_by_id("cp").text
print data #打印信息 sleep(1) dr.quit()
输出结果为:©2014 Baidu 使用百度前必读 京ICP证030173号
submit
# coding:utf-8 from selenium import webdriver
from time import sleep
import os dr=webdriver.Firefox()
dr.get('http://www.baidu.com')
sleep(1) dr.find_element_by_id("kw").send_keys('放假安排')
driver.find_element_by_id("su").submit()
sleep(1) dr.quit()
在这里,使用submit()与click()效果相同。
get_attribute
获取元素,在定位一组元素时会用到。一般用法如下:
select = driver.find_element_by_tag_name("select") allOptions = select.find_elements_by_tag_name("option") for option in allOptions: print "Value is: " + option.get_attribute("value") option.click()
定位一组元素可以参考前面学到的内容。
WebElement的方法:
一般来说,所有有趣的操作与页面进行交互的有趣的操作,都通过 WebElement 完成
classselenium.webdriver.remote.webelement.WebElement(parent, id_)
这个类代表HTML页面元素
id_ #当前元素的ID tag_name #获取元素标签名的属性 text #获取该元素的文本。 click() #单击(点击)元素 submit() #提交表单 clear() #清除一个文本输入元素的文本 get_attribute(name) #获得属性值 s_selected(self) #元素是否被选择 Whether the element is selected. is_enabled() #元素是否被启用 find_element_by_id(id_) find_elements_by_id(id_) #查找元素的id find_element_by_name(name) find_elements_by_name(name) #查找元素的name find_element_by_link_text(link_text) find_elements_by_link_text(link_text) #查找元素的链接文本 find_element_by_partial_link_text(link_text) find_elements_by_partial_link_text(link_text) #查找元素的链接的部分文本 find_element_by_tag_name(name) find_elements_by_tag_name(name) #查找元素的标签名 find_element_by_xpath(xpath) #查找元素的xpath find_elements_by_xpath(xpath) #查找元素内的子元素的xpath find_element_by_class_name(name) #查找一个元素的类名 find_elements_by_class_name(name) #查找元素的类名 find_element_by_css_selector(css_selector) #查找并返回一个元素的CSS 选择器 find_elements_by_css_selector(css_selector) #查找并返回多个元素的CSS 选择器列表 send_keys(*value) #模拟输入元素
webdriver(python)学习笔记六——操作测试对象的更多相关文章
- Python学习笔记六
Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...
- Python学习笔记之类与对象
这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...
- python学习笔记4(对象/引用;多范式; 上下文管理器)
### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 21. 动态类型:对象/引用 对象和引用: 对象是储存在内存中的实体,对象名只是指向这一对象的引用(refere ...
- python学习笔记(六)---文件操作与异常处理机制
文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...
- webdriver(python) 学习笔记三
知识点:简单的对象定位 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪 ...
- python学习笔记六 面向对象相关下(基础篇)
面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...
- python学习笔记六 初识面向对象上(基础篇)
python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...
- webdriver(python)学习笔记四——定位一组元素
webdriver可以很方便的使用find_element方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用find_elements方法. 定位一组对象一般用于以下场景: ...
- Python学习笔记六--文件和输入输出
6.1文件对象 所有Python对文件的操作都是基于对文件对象的操作.那么就从文件对象的创建说起.open()[file()]提供初始化输入输出的接口.open()成功打开文件时会返回一个文件对象. ...
随机推荐
- PowerDesigner修改设计图中文字的字体大小等样式
设计图中默认的字体是对英文比较合适的,中文就看不清楚了,特别不美观.但是可以通过修改“Display Preferences”适应我们的汉字. 我使用的PowerDesigner版本是15.1(测试版 ...
- hdu1021 Fibonacci Again
http://acm.hdu.edu.cn/showproblem.php?pid=1021 //找规律.. #include<iostream> #include<stdio.h& ...
- Hibernate中createCriteria即QBC查询的详细用法 .Hibernate中createCriteria即QBC查询的详细用法 .
现在假设有一个Student类,内有id,name,age属性String hql = "from Student s";按照以前的做法,我们通常是Query query = se ...
- Linux文件系统介绍
1.ext2/ext3(日志功能)文件系统(Linux标准文件系统.一种索引式文件系统) SuperBlock:Superblock是记录整个filesystem 相关信息的地方,没有Superblo ...
- 即时通信Spark安装和配置
spark:Cross-platform real-time collaboration client optimized for business and organizations.Spark i ...
- libXml ARC forbids explicit message send of'release'
'release' is unavailable: not available in automatic reference counting mode ARC forbids explicit me ...
- showdialog()与show的区别
showdialog就是显示有模式的窗体,showdialog后面的语句不会执行,直到显示的窗体被关闭. show就是无模式的窗体,显示窗体后不论窗体是否关闭都执行show后面的语句. ------- ...
- EBS报表输出文件格式控制
具体使用方法:1.添加用户参数p_conc_request_id2.在BeforeReport trigger中添加srw.user_exit('FND SRWINIT'); 和Af ...
- R programming, In ks.test(x, y) : p-value will be approximate in the presence of ties
Warning message: In ks.test(x, y) : p-value will be approximate in the presence of ties The warnin ...
- 转 Android中进入系统设置界面
Android软件时,常常需要打开系统设置或信息界面,来设置相关系统项或查看系统的相关信息,这时我们就可以使用以下语句来实现:(如打开“无线和网络设置”界面) Intent intent = new ...