python实例编写(1)--浏览器操作,元素操作
2015-12-02 18:21
691 查看
一.浏览器操作
1. back()与 forward()
2.maximize_window() 最大化窗口
3. set_window_size()设置浏览器大小
二.元素操作
1.简单对象的定位
find_element_by_id()
find_element_by_name()
find_element_by_classname()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()
特别是xpath使用相对路径定位(使用相邻的有id的进行间接定位):
2.登录实例 login.py (获取元素属性)
执行结果如下:
3.验证(打印信息判断用例是否成功),通常通过 url,title和标识性信息
结果如下:
>>> ================================ RESTART ================================
>>> http://mail.163.com/js6/main.jsp?sid=ZDlqYvPPnHvHRTURunPPpYpWbwaaZWHT&df=mail163_letter#module=welcome.WelcomeModule%7C%7B%7D 网易邮箱6.0版
wyybingo@163.com
>>>
这里特别注意:这里的方法都不带()。。。。
错误描述:
Python错误:TypeError: 'str' object is not callable
原因分析:
当一般内部函数被用作变量名后可能出现此错误。。
4.等待时间设置
sleep():time包中(必须休眠这么久)
import time time.sleep()
或 from time import sleep sleep()
implicitly_wait(): (在设置事件内智能等待)
1. back()与 forward()
#coding=gbk //编码不一定是utf-8 from selenium import webdriver //导入包,也叫”模组“ driver=webdriver.Firefox() //同selenium一致,默认内嵌FF,其他浏览器需导入驱动 /** 其他浏览器需要将驱动exe放到python安装包下
driver=webdriver.Ie()
driver=webdriver.Chrome() **/
#访问百度 no1_url="http://www.baidu.com" print "跳到百度:%s"%(no1_url) driver.get(no1_url) #访问百度新闻 no2_url="http://news.baidu.com" print "跳到百度新闻:%s"%(no2_url) driver.get(no2_url) #返回到百度 print "跳到百度" driver.back() #前进到百度新闻 print"跳到新闻" driver.forward() driver.quit()
2.maximize_window() 最大化窗口
#coding=utf-8 from selenium import webdriver driver=webdriver.Firefox() driver.get("http://www.baidu.com") print "浏览器最大化" driver.maximize_window() #将浏览器最大化 driver.quit()
3. set_window_size()设置浏览器大小
#coding=utf-8 from selenium import webdriver driver=webdriver.Firefox() driver.get("https://qy.weixin.qq.com/cgi-bin/home?lang=zh_CN&token=715149260#contacts") print "设置浏览器为移动端大小" driver.set_window_size(480,800) #设置浏览器为移动端大小 driver.quit()
二.元素操作
1.简单对象的定位
find_element_by_id()
find_element_by_name()
find_element_by_classname()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()
特别是xpath使用相对路径定位(使用相邻的有id的进行间接定位):
2.登录实例 login.py (获取元素属性)
#coding=gbk from selenium import webdriver #登录163邮箱 driver=webdriver.Firefox() driver.get("http://mail.163.com/") driver.find_element_by_id("idInput").clear() driver.find_element_by_id("idInput").send_keys("wyybingo") driver.find_element_by_id("pwdInput").clear() driver.find_element_by_id("pwdInput").send_keys("********") print driver.find_element_by_id("idInput").size //获取尺寸 print driver.find_element_by_id("pwdInput").text //获取文本 print driver.find_element_by_id("pwdInput").get_attribute("class") //获取属性值 print driver.find_element_by_id("remAutoLoginTxt").is_displayed() //元素是否可见 #type类型为submit,可以替代click, submit强调对整个信息的提交,点击强调对单个事件的独立性
driver.find_element_by_id("loginBtn").submit() driver.quit()
执行结果如下:
3.验证(打印信息判断用例是否成功),通常通过 url,title和标识性信息
#coding=utf-8 from selenium import webdriver #登录163邮箱 driver=webdriver.Firefox() driver.get("http://mail.163.com/") driver.find_element_by_id("idInput").clear() driver.find_element_by_id("idInput").send_keys("wyybingo") driver.find_element_by_id("pwdInput").clear() driver.find_element_by_id("pwdInput").send_keys("*****") #type类型为submit,可以替代click driver.find_element_by_id("loginBtn").submit() print driver.get_current_url //打印路径 print driver.title //打印标题 print driver.find_element_by_id("spnUid").text //打印标头 driver.quit()
结果如下:
>>> ================================ RESTART ================================
>>> http://mail.163.com/js6/main.jsp?sid=ZDlqYvPPnHvHRTURunPPpYpWbwaaZWHT&df=mail163_letter#module=welcome.WelcomeModule%7C%7B%7D 网易邮箱6.0版
wyybingo@163.com
>>>
这里特别注意:这里的方法都不带()。。。。
错误描述:
Python错误:TypeError: 'str' object is not callable
原因分析:
当一般内部函数被用作变量名后可能出现此错误。。
4.等待时间设置
sleep():time包中(必须休眠这么久)
import time time.sleep()
或 from time import sleep sleep()
implicitly_wait(): (在设置事件内智能等待)
相关文章推荐
- python FTP上传和下载文件
- 【python】正则表达式-常用函数
- python glob 模块 map函数
- 简单介绍python-nmap 模块的使用
- 【python游戏编程之旅】第六篇---pygame中的Sprite(精灵)模块和加载动画
- 【Python】不用numpy用纯python求极差、平均数、中位数、众数与方差,python的打印到控制台
- Python正则表达式详解
- selenium2.x python 虚拟浏览器 搭建与使用
- [python基础]关于装饰器
- Python 论字符串不变性
- python入门--函数
- 每天一点python——缺失值处理
- Python-面向对象编程(一)
- 【python】正则表达式-group和group的区别
- python3.4 +pyqt5 +cx_freeze 打包成exe
- Python学习
- python enumerate用法
- Python在vim中的高亮显示设置方法…
- (每天一句python)两个list的交集、并集、差集
- python中if __name__ == '__main__': 的解析