博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
轻松自动化---selenium-webdriver(python) (二)---打印URL,设置浏览器固定宽前进后退等
阅读量:4289 次
发布时间:2019-05-27

本文共 1916 字,大约阅读时间需要 6 分钟。

本节知识点:

  • 打印URL
  • 将浏览器最大化
  • 设置浏览器固定宽、高
  • 操控浏览器前进、后退

 

 

打印URL

 

上一节讲到,可以将浏览器的title打印出来,这里再讲个简单的,把当前URL打印出来。其实也没啥大用,可以做个凑数的用例。

 

#coding=utf-8from selenium import webdriverimport timebrowser = 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-8from selenium import webdriverimport timebrowser = 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-8from selenium import webdriverimport timebrowser = 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-8from selenium import webdriverimport timebrowser = 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的情况下。

转载地址:http://vdqgi.baihongyu.com/

你可能感兴趣的文章
分享一首小诗--《致程序员》
查看>>
为什么百度只抓取了首页而不抓取我的网站的内页的原因分析
查看>>
年薪170万的阿里P8级员工征婚有感--话说阿里真有钱,这员工要求的条件真多
查看>>
又是一年桂花飘香时,祝我们伟大的祖国70年华诞更加繁荣昌盛,祝大家国庆节快乐
查看>>
谷歌浏览器chrome即将在2020年底停止支持flash,我们程序员该怎么办
查看>>
如何将数据采集到 Elasticsearch 服务
查看>>
面试官:mysql表设计要注意什么?
查看>>
一些精致小众网站收集录
查看>>
计算机科学探秘之linux发展史
查看>>
程序员每天早上早来10分钟的好处
查看>>
互联网30年,泡沫如梦,一个个泡沫和风口过后,会是什么样的结局
查看>>
升级centos 6.8 服务器的gcc
查看>>
网络案例分析之999皮炎平出鹤顶红色号的口红
查看>>
API网关在微服务架构中的应用,这一篇就够了
查看>>
微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
查看>>
架构成长之路:Spring Cloud微服务如何实现熔断降级?
查看>>
JVM发生内存溢出的8种原因、及解决办法
查看>>
SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作
查看>>
高性能负载均衡:nginx搭建tomcat集群
查看>>
Spring切面中的正则表达式
查看>>