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


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 内容:

 「功能测试自动化」汇总

 

 

3
0
« 上一篇: 轻松自动化---selenium-webdriver(python) (一)
» 下一篇: 轻松自动化---selenium-webdriver(python) (三)
ADD YOUR COMMENT

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

    这么巧,上午刚要用 selenium + python,下午就在博客园看到

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

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

     
       
  3. #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

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

    @ 虫师
    收到。多谢!

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

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

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

    为什么执行浏览器前进、后退那个脚本时, 无法打开那个网址?
    driver.get(first_url)
    是这样写无效的么?

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

    @ 芒果雯
    你确定你那个不是brosweer??
    driver = webdriver.Firfox

     
       


内容概要:本文详细介绍了如何使用Matlab对地表水源热泵系统进行建模,并采用粒子群算法来优化每小时的制冷量和制热量。首先,文章解释了地表水源热泵的工作原理及其重要性,随后展示了如何设定基本参数并构建热泵机组的基础模型。接着,文章深入探讨了粒子群算法的具体实现步骤,包括参数设置、粒子初始化、适应度评估以及粒子位置和速度的更新规则。为了确保优化的有效性和实用性,文中还讨论了如何处理实际应用中的约束条件,如设备的最大能力和制冷/制热模式之间的互斥关系。此外,作者分享了一些实用技巧,例如引入混合优化方法以加快收敛速度,以及在目标函数中加入额外的惩罚项来减少不必要的模式切换。最终,通过对优化结果的可视化分析,验证了所提出的方法能够显著降低能耗并提高系统的运行效率。 适用人群:从事暖通空调系统设计、优化及相关领域的工程师和技术人员,尤其是那些希望深入了解地表水源热泵系统特性和优化方法的专业人士。 使用场景及目标:适用于需要对地表水源热泵系统进行精确建模和优化的情景,旨在找到既满足建筑负荷需求又能使机组运行在最高效率点的制冷/制热量组合。主要目标是在保证室内舒适度的前提下,最大限度地节约能源并延长设备使用寿命。 其他说明:文中提供的Matlab代码片段可以帮助读者更好地理解和复现整个建模和优化过程。同时,作者强调了在实际工程项目中灵活调整相关参数的重要性,以便获得更好的优化效果。
内容概要:本文详细介绍了如何利用Blender和Python为污水处理厂创建高精度3D渲染效果图及其背后的参数化建模方法。首先,作者展示了如何通过Python代码管理复杂的设备数据结构(如嵌套字典),并将其应用于3D模型中,确保每个工艺段的设备参数能够准确反映在渲染图中。接着,文章深入探讨了具体的材质处理技巧,比如使用噪声贴图和溅水遮罩来增强金属表面的真实感,以及如何优化渲染性能,如采用256采样+自适应采样+OpenImageDenoise的降噪组合拳,将渲染时间缩短至原来的三分之一。此外,文中还涉及到了一些高级特性,如通过Houdini的粒子系统模拟鸟类飞行路径,或者利用Three.js实现交互式的在线展示。最后,作者强调了参数化建模的重要性,它不仅提高了工作效率,还能更好地满足客户需求,尤其是在面对紧急的设计变更时。 适合人群:从事污水处理工程设计的专业人士,尤其是那些希望提升自己3D建模技能和提高工作效率的人。 使用场景及目标:适用于需要快速生成高质量污水处理厂设计方案的场合,特别是在投标阶段或向客户展示初步概念时。通过这种方式,设计师可以在短时间内制作出逼真的效果图,帮助客户直观理解设计方案,并且可以根据客户的反馈迅速调整模型参数,从而加快决策过程。 其他说明:除了技术细节外,本文还分享了许多实用的经验和技巧,如如何平衡美观与效率之间的关系,以及怎样应对实际项目中的各种挑战。对于想要深入了解这一领域的读者来说,这是一份非常有价值的学习资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值