一.浏览器操作

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)--浏览器操作,元素操作的更多相关文章

  1. unittest 运行slenium(二)---打开浏览器及元素操作

    一: 打开win10中安装的浏览器 1. 打开的浏览器有:谷歌/火狐/ie/edge 2. 当浏览器的driver没有配置在path环境下时,在启动浏览器时需要传入driver的所在位置 3. 其中火 ...

  2. 修改css样式+jq中的效果+属性操作+元素操作

    :checked    选框选中的 一.修改css样式: 1.参数只写属性名,则返回属性值 $(this).css( ' color ');   //300px 2.参数是属性名,属性值,逗号分隔,是 ...

  3. python实例编写(2)--等待,一组对象,层级元素,frame对象处理

    一.设置等待 #coding=utf-8 from selenium import webdriver from selenium.webdriver.support.ui import WebDri ...

  4. python实例编写(4)--js,滚动条,cookie,验证码,获取特定属性的元素,实现原理

    一.调用js 执行方法:execute_script(script,*args) 场景一:在页面上直接执行调用js 场景二:在定位的某个元素上执行调用js 如:掩藏文字(提示插件 tooltip设置淡 ...

  5. python实例编写(7)---测试报告与测试套件(多个py文件,1个py文件内多个用例)

    一.  一个.py文件批量执行测试用例(一个.py文件下多个用例执行) 如果直接使用:unittest.main(),则按字母顺序执行, 对于前后之间又依赖关系的用例,需要按特定的顺序执行,则使用 s ...

  6. python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)

    ---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...

  7. python实例编写(5)--异常处理,截图,用例设计

    一.python的异常处理 异常抛出处理机制: 1.若在运行时发生异常,解释器会查找相应的处理语句(handler) 2.若在当前函数无法找到,就将异常传给上层的调用函数,看是否能处理 3.如果在最外 ...

  8. python实例编写(3)--对话框,多窗口,下拉框,上传文件

    一.对话框: 例:点击百度的登录,弹出的小窗口 #coding=utf-8 from selenium import webdriver from time import sleep dr=webdr ...

  9. selenium--控制浏览器和简单元素操作

    控制浏览器1.driver.maximize_window() #浏览器最大化2.driver.set_windows_size(480*800) #浏览器设置成移动端大小(480*800),参数数字 ...

随机推荐

  1. html&css笔记(2)

    第9章 用background-image属性为任何元素添加背景图片,用url()标识背景位置,它落在背景颜色之上,所以类似于背景颜色,它位于边框之内 p380 可以指定任一边框(上.下.左.右)的样 ...

  2. Zepto源码分析(一)核心代码分析

    本文只分析核心的部分代码,并且在这部分代码有删减,但是不影响代码的正常运行. 目录 * 用闭包封装Zepto * 开始处理细节 * 正式处理数据(获取选择器选择的DOM) * 正式处理数据(添加DOM ...

  3. Basic Skill

    Get current script path script=$() Check for root user ] ; then echo "current user is not root ...

  4. 【Js应用实例】限制上传图片大小

    需求:前端页面开发中,常遇到图片上传的需求,一般要求限制图片格式及大小. 说明:这里就把实现此功能所需代码贴出来,供同志们参考,也方便我以后复用. 要点:1.处理 类型type为file的输入元素的v ...

  5. EXE转JPG后缀格式工具(真实JPG后缀)

    EXE转JPG后缀格式工具(真实JPG后缀) exe转换为jpg工具,双击之后正常运行. 杀毒软件误报 本程序禁止用于违法操作. 下载地址 链接: https://pan.baidu.com/s/1b ...

  6. mysql alter使用

    修改表名: ALTER  TABLE Table_name_A RENAME TO Table_name_B; //增加主键 alter table tabelname add new_field_i ...

  7. [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)

    整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能 ...

  8. jQuery遍历-过滤

    缩写搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素. 其他过滤方法,比如 filter() 和 not() ...

  9. jmeter系列-------注意事项

    1.自己创建的数据自己擅长,不要留垃圾数据 2.每个接口都需要增加断言,保证脚本的结果的正确性 3.相同的应用放在一个简单控制器下,所有的应用尽量放在一个线程组下面,将特殊场景单独抽离成一个线程组 4 ...

  10. SVG视野

    前面的话 SVG中坐标系统非常关键,但在介绍坐标系统之前,首先要了解视野.本文将详细介绍SVG视野 视野 下面来区分视窗.世界和视野 [视窗] SVG的属性width.height来控制视窗的大小,也 ...