python实例编写(1)--浏览器操作,元素操作
一.浏览器操作
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实例编写(1)--浏览器操作,元素操作的更多相关文章
- unittest 运行slenium(二)---打开浏览器及元素操作
一: 打开win10中安装的浏览器 1. 打开的浏览器有:谷歌/火狐/ie/edge 2. 当浏览器的driver没有配置在path环境下时,在启动浏览器时需要传入driver的所在位置 3. 其中火 ...
- 修改css样式+jq中的效果+属性操作+元素操作
:checked 选框选中的 一.修改css样式: 1.参数只写属性名,则返回属性值 $(this).css( ' color '); //300px 2.参数是属性名,属性值,逗号分隔,是 ...
- python实例编写(2)--等待,一组对象,层级元素,frame对象处理
一.设置等待 #coding=utf-8 from selenium import webdriver from selenium.webdriver.support.ui import WebDri ...
- python实例编写(4)--js,滚动条,cookie,验证码,获取特定属性的元素,实现原理
一.调用js 执行方法:execute_script(script,*args) 场景一:在页面上直接执行调用js 场景二:在定位的某个元素上执行调用js 如:掩藏文字(提示插件 tooltip设置淡 ...
- python实例编写(7)---测试报告与测试套件(多个py文件,1个py文件内多个用例)
一. 一个.py文件批量执行测试用例(一个.py文件下多个用例执行) 如果直接使用:unittest.main(),则按字母顺序执行, 对于前后之间又依赖关系的用例,需要按特定的顺序执行,则使用 s ...
- python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)
---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...
- python实例编写(5)--异常处理,截图,用例设计
一.python的异常处理 异常抛出处理机制: 1.若在运行时发生异常,解释器会查找相应的处理语句(handler) 2.若在当前函数无法找到,就将异常传给上层的调用函数,看是否能处理 3.如果在最外 ...
- python实例编写(3)--对话框,多窗口,下拉框,上传文件
一.对话框: 例:点击百度的登录,弹出的小窗口 #coding=utf-8 from selenium import webdriver from time import sleep dr=webdr ...
- selenium--控制浏览器和简单元素操作
控制浏览器1.driver.maximize_window() #浏览器最大化2.driver.set_windows_size(480*800) #浏览器设置成移动端大小(480*800),参数数字 ...
随机推荐
- JVM(一)JVM的基本结构
JVM基本结构 一 JVM基本结构示意图 二 JVM结构详解 一 程序计数器 程序计数器是一块较小的内存空间,它是当前线程所执行的字节码的行号指示器,如果线程执行的是一个Java方法,这个计数器记录的 ...
- eval & exec(绕过长度限制思路学习)
eval & exec知识点记录--原文章phithon,只是记录一下我自己的学习过程. 1.eval & exec if(strlen($param)<17 && ...
- windows10企业版怎么关闭自动更新
windows10企业版怎么关闭自动更新.. 我之所以选择关闭自动的更新的原因: 1.Windows版本是激活版的不是注册版的<其实我想说的是我用的是盗版的> 2.对于为什么禁止[系统更 ...
- 正则表达式-linux基础
通配符 通赔符是模糊匹配的基础,因为通赔符机制的存在使得我们在查找文件的时候非常方便 * :匹配任意长度的任意字符,也可以一个都没有 . :匹配任意单个字符,必须有一个 [ ] ...
- WIN7+IE8环境QTP11不能录制和识别web对象的解决方法
在项目稍微空闲的时间,在办公电脑上面装上QTP11来学习.但是发现在录制脚本时无法录制web对象,在网上找解决方法说以管理员的身份运行QTP就可以解决无法录制的问题,用这方法证明是ok的.后来用Obj ...
- Be the Best of Whatever You Are
If you can't be a pine on the top of the hill, Be a scrub in the valley—but be The best little scrub ...
- [2017-08-28]Abp系列——业务异常与错误码设计及提示语的本地化
本系列目录:Abp介绍和经验分享-目录 前言 ABP中有个异常UserFriendlyException经常被使用,但是它所在的命名空间是Abp.UI,总觉得和展现层联系过于紧密,在AppServic ...
- Ext.grid.CheckboxSelectionModel复选框设置某行不可以选中
var sm = new Ext.grid.CheckboxSelectionModel({ renderer:function(v,c,r){ if(r.get("isEdit" ...
- 各种选择框jQuery的选中方法
select下拉列表的选中方法是:$("slect option:eq(1)").attr("selected",true);//选中第二个option che ...
- iOS 微信支付流程详解
背景 自微信支付.支付宝支付入世以来,移动端的支付日渐火热.虚拟货币有取代实体货币的趋向(这句纯属扯淡,不用管),支付在app开发中是一项基本的功能,有必要去掌握.从难易程度上讲,不管是微信支付还是支 ...