您的位置:首页 > 编程语言 > Python开发

轻松自动化---selenium-webdriver(python) (二)

2017-05-27 17:57 633 查看
http://www.cnblogs.com/fnng/p/3171383.html

本节知识点:
打印URL
将浏览器最大化
设置浏览器固定宽、高
操控浏览器前进、后退
 
 
打印URL
 
上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来。其实也没啥大用,可以做个凑数的用例。
 

#coding=utf-8

from selenium import webdriver
import time

browser = webdriver.Firefox()

url= 'http://www.baidu.com'

#通过get方法获取当前URL打印
print "now access %s" %(url)
browser.get(url)

time.sleep(2)
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()


 
其实,我们可以把这用户登录成功后的URL打印,用于验证用户登录成功。
又或者,我们打印其它信息,比如,一般的登录成功页会出现“欢迎+用户名”,可以将这个信息打印表明用户登录成功。(如何实现,你自己琢磨一下吧~!)
 
 
将浏览器最大化
 
我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行。

#coding=utf-8

from selenium import webdriver
import time

browser = webdriver.Firefox()

browser.get("http://www.baidu.com")
time.sleep(2)

print "浏览器最大化"
browser.maximize_window()  #将浏览器最大化显示
time.sleep(2)

browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()


 
 
设置浏览器固定宽、高
 
最大化还是不够灵活,能不能随意的设置浏览的宽、高显示?当然是可以的。

#coding=utf-8
from selenium import webdriver
import time

browser = webdriver.Firefox()

browser.get("http://m.mail.10086.cn")
time.sleep(2)

print "设置浏览器宽480、高800显示"
browser.set_window_size(480, 800)  #参数数字为像素点
time.sleep(3)
browser.quit()


这个需求也还是有的,比如我们通过PC浏览器在访问一下手机网站时,调整浏览器为手机屏幕的宽、高,容易发现一些显示问题。(上面的手机邮箱网站就是笔者测试过的一个产品)
 
 
操控浏览器前进、后退
 
浏览器上有一个后退、前进按钮,对于浏览网页的人是比较方便的;对于做web自动化测试的同学来说应该算是一个比较难模拟的问题;其实很简单,下面看看python的实现方式

#coding=utf-8

from selenium import webdriver
import time

browser = webdriver.Firefox()

#访问百度首页
first_url= 'http://www.baidu.com'
print "now access %s" %(first_url)
browser.get(first_url)
time.sleep(2)

#访问新闻页面
second_url='http://news.baidu.com'
print "now access %s" %(second_url)
browser.get(second_url)
time.sleep(2)

#返回(后退)到百度首页
print "back to  %s "%(first_url)
browser.back()
time.sleep(1)

#前进到新闻页
print "forward to  %s"%(second_url)
browser.forward()
time.sleep(2)

browser.quit()


为了使过程让你看得更清晰,在每一步操作上都加了print 和sleep 。
说实话,这两个功能平时不太常用,所能想到的场景就是几个页面来回跳转,但又不想用get url的情况下。
 
 
 

--------------------------

学习更多selenium 内容:
 「功能测试自动化」汇总
 
 

好文要顶 关注我 收藏该文 

 






虫师
关注 - 30
粉丝 - 6048

+加关注

3

0

« 上一篇:轻松自动化---selenium-webdriver(python)
(一)
» 下一篇:轻松自动化---selenium-webdriver(python)
(三)

分类: selenium

ADD YOUR COMMENT


#1楼 爱知菜  2013-07-04
13:42


  
 这么巧,上午刚要用 selenium + python,下午就在博客园看到
 
   
支持(0)反对(0)

#2楼 Cindy
Wei  2013-07-05
14:52


  
 最近正在自学selenium-python,看到了这里,很是喜欢,以后就在这混了,哈哈。 请问虫师,“轻松自动化(python)之三” 啥时候出啊?
 
   
支持(0)反对(0)

#3楼[楼主] 虫师  2013-07-05
18:45


  
 @ Cindy Wei

工作比较忙,所以这里更新比较慢。

贴两份文档:

官方API: http://selenium.googlecode.com/git/docs/api/py/index.html

webdriver python:
http://wenku.baidu.com/view/8ecc867f31b765ce050814e6.html
 
   
支持(1)反对(0)

#4楼 Cindy
Wei  2013-07-16
11:29


  
 @ 虫师

收到。多谢!
 
   
支持(0)反对(0)

#5楼 hbxtly  2013-07-23
17:59


  
 虫师,我在运行“操控浏览器前进、后退‘这个脚本时,在打开的浏览器中经常会出现那个收藏的弹出层,请问是什么原因
 
   
支持(0)反对(0)

#6楼 芒果雯  2015-08-25
14:08


  
 为什么执行浏览器前进、后退那个脚本时, 无法打开那个网址?

driver.get(first_url)

是这样写无效的么?
 
   
支持(0)反对(0)

#7楼 ivan100086  2017-02-07
17:17


  
 @ 芒果雯

你确定你那个不是brosweer??

driver = webdriver.Firfox
 
   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: