船长带你看书——《selenium2 python 自动化测试实战》(2)浏览器操作
浏览器操作
# coding: utf-8
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")
# 设置浏览器宽800,高400
driver.set_window_size(800, 400)
sleep(3)
# 最大化窗口
driver.maximize_window()
driver.get("https://www.cnblogs.com/")
sleep(3)
# 后退到上一个页面
driver.back()
sleep(3)
# 前进到下一个页面
driver.forward()
sleep(3)
# 退出浏览器
driver.quit()
对象定位
webdriver 提供了一系列的元素定位方法,常用的有以下几种:
id
name
class name
tag name
link text
partial link text
xpath
css selector
分别对应 python webdriver 中的方法为:
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
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()
我们还是以blog.hexun.com为例:
这是他的登录框。摁F12或者鼠标右键选择Inspect in FirePath火狐浏览器会弹出查看元素界面:
点一下上图箭头所示那里,然后去页面上点击你想定位的元素,比如我们现在要定位输入账号框,我们就点一下那个查看元素的图标,然后点一下输入账号的框,就可以看到查看元素的页面定位到了这里:
在这里,页面元素属性有id、name等,这是我们定位这个框就可以通过id(find_element_by_id)或者name(find_element_by_name),一般来说name或者class_name,tag_name这些元素名称都不是唯一的,可能这里叫div(tag_name)另一个地方也叫div,这里叫name=”username”,另一个地方name也是username,这时候用name,class_name,tag_name就很难定位到你想要的元素,所以,不用犹豫了,不嫌长的话就用xPath或者css_selector吧,如果有id用id也可以,因为一般来说id肯定是唯一的。
name如何定位xPath或者css_selector呢?那就是查看页面元素那里选择
FirePath那个标签,上图已经看到账号栏的xPath了,只需要点击XPath后面那个小三角,就可以切换成css(就是css_selector)的定位方式了:
所以呢,以后再定位的时候基本上不用思考,直接用FirePath这个工具就可以了。微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

船长带你看书——《selenium2 python 自动化测试实战》(2)浏览器操作的更多相关文章
- 船长带你看书——《selenium2 python 自动化测试实战》(1)
有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了.现在,你有机会再从头学一次了.从今天开始,船长会从最基本的知识开始,和大家一起学selenium.能不能跟着一起就看大 ...
- selenium2 python自动化测试实战(回归测试)
selenium2 python自动化测试实战 最近接手商城的项目,针对后台测试,功能比较简单,但是流程比较繁多,涉及到前后台的交叉测试.在对整个项目进行第一轮测试完成之后,考虑以后回归测试任务比较重 ...
- 《selenium2 python 自动化测试实战》(17)——几个cookies操作
之前我们已经学过利用cookies跳过验证码登录了,那时候我们用的方法是add_cookie()方法,这里再给大家介绍两个,一般情况下我们用不到,了解一下就可以,而且如果真的用到的时候百度也很快的: ...
- Selenium2+Python自动化测试实战
本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用.后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的 ...
- 《selenium2 python 自动化测试实战》(6)——打印信息和设置等待时间
打印信息经常用的有两个: # coding: utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.get( ...
- 《selenium2 python 自动化测试实战》(14)——下载文件
说下载文件之前,我再和大家说一下用cookie登录的事,既然我们用cookie登录,那么传过去的cookie肯定是要和对应的网站完全一致的,注意,是包括大小写哦,本来我也是不知道,我用这个方法登录自己 ...
- 《selenium2 python 自动化测试实战》(7)——定位一组对象
定位一组对象 定位一组对象——find_elements_by_...(),注意,这里是elements,复数.返回的结果是一个列表,我们取值的时候就要用列表取值的方式来获得自己想要的元素.需要注意的 ...
- 《selenium2 python 自动化测试实战》(4)——鼠标事件
鼠标事件包含在ActionChains类中,导入时只需要: from selenium.webdriver.common.action_chains import ActionChains 导入类即可 ...
- 《selenium2 python 自动化测试实战》(21)——unittest单元测试框架解析
unittest是展开自动化测试的基础——这个框架很重要! 我们先自己写一个测试类: 1.被测试类 Widthget.py: # coding: utf-8 class Widthget: de ...
随机推荐
- 在activity之间通过静态变量传递数据
在activity之间通过静态变量传递数据 一.简介 主要作用:解决intent不能传递非序列化的对象 评价:简单方便,但是容易发生内存泄露,所以要及时回收内存 二.具体操作 1.在传输数据的页面弄好 ...
- web页面中 将几个字段post提交
思路 自己在html中构建form 先根据传入的action构建form的action 然后根据要提交的字段构建form中的元素 最后通过调用form中的按钮提交from表单 方法:var jsP ...
- puma(5300✨) Rails的一个多线程,高并发处理的web server
https://github.com/puma/puma 在开发和产品环境下,Puma是一个简单,快速,多线程,并高并发highly concurrent HTTP1.1server for Ruby ...
- 微信小程序------联动选择器
picker 从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器. 先来看看效果图: 1:普通选择器 m ...
- edm 邮件制作指南
格式编码 1.页面宽度请设定在 600px 到 800px 以内,长度 1024px 以内. 2.html 编码请使用 utf-8. 3.html 代码在 15KB 以内.(各个邮箱的收件标准不一样, ...
- VS展开当前目录
- js 计算时间
var date1=new Date(); //开始时间 var date2=new Date(); //结束时间 var date3=date2.getTime()-date1.getT ...
- Spring整合hibernate:3、使用XML进行声明式的事务管理
配置applicationContext.xml文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...
- python decorator 装饰器
python装饰器是个对嵌套函数的语法糖 作用是在函数调用方法不变的情况下,将函数包装成另一个函数来使用 ---- import time def sum1(): sum = 1 + 2 print ...
- Shell学习笔记——算数运算与条件测试
算数运算 1. 使用let命令 #!/sbin/bash var1=2 var2=3 let sum=var1+var2 echo $sum 使用let命令式,变量前不需要加$号 只用于整数运算,不适 ...