设为首页 收藏本站
查看: 632|回复: 0

[经验分享] 轻松自动化---selenium-webdriver(python) (一)

[复制链接]

尚未签到

发表于 2017-5-4 09:46:29 | 显示全部楼层 |阅读模式
原帖地址:http://www.cnblogs.com/fnng/p/3160606.html 
为什么选python
之前的菜鸟系列是基于java的,一年没学其实也忘的差不多了,目前所测的产品部分也是python写的,而且团队也在推广python ,其实就测试人员来说,python也相当受欢迎。易学,易用。翻翻各测试招聘,python出现的概率也颇高。
 
平台搭建:
前一篇中已经介绍,如果你也想体验一下自动化魅力,那就赶快搭建自己的环境吧~
  selenium + python自动化测试环境搭建
 
第一个脚本:
下面看看python 穿上selenium webdriver 是多么的性感:
# coding = utf-8

from selenium import webdriver


browser
= webdriver.Firefox()

browser.get(
"http://www.baidu.com")
browser.find_element_by_id(
"kw").send_keys("selenium")
browser.find_element_by_id(
"su").click()
browser.quit()

怎么样?相信不懂代码的人都能看懂,但还是请容我在这里啰嗦一下每一句的含义:
 
# coding = utf-8
可加可不加,开发人员喜欢加一下,防止乱码嘛。
 
from selenium import webdriver
要想使用seleniumwebdriver 里的函数,首先把包导进来嘛
 
browser = webdriver.Firefox() 
我们需要操控哪个浏览器呢?Firefox ,当然也可以换成Ie 或 Chrome browser可以随便取,但后面要用它操纵各种函数执行。
 
browser.find_element_by_id("kw").send_keys("selenium")
一个控件有若干属性id name、(也可以用其它方式定位),百度输入框的id kw ,我要在输入框里输入 selenium 。多自然语言呀!
 
browser.find_element_by_id("su").click()
搜索的按钮的id su ,我需要点一下按钮( click() )。
 
browser.quit()
退出并关闭窗口的每一个相关的驱动程序,它还有个类似的表弟。
browser.close()
关闭当前窗口 ,用哪个看你的需求了。
 
添加休眠
什么?你说刚才太快没看清浏览器的操作过程。请time出马,让他跑慢点。
 
# coding = utf-8

from selenium import webdriver
import  time  #调入time函数

browser
= webdriver.Firefox()

browser.get(
"http://www.baidu.com")
time.sleep(
0.3)  #休眠0.3秒
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id(
"su").click()
time.sleep(
3)  # 休眠3秒
browser.quit()
 
time.sleep() 函数随意插,哪里太快插哪里,再也不用担心看不清脚本的运行过程了。
 
其实,这个函数的真正用途不是给我们看脚本的运行过程的,有时候网络原因,或页面加载慢。假设搜索框输入框输入了selenium ,搜索按钮还没加载出来,那么脚本就报错。在适当的位置加入time.sleep()有助于减少网络原因造成的脚本执行失败;
 
输出
什么?在运行脚本的时候,上了个厕所,你都不知道刚才的脚本是否运行成功了。把刚才访问页面的title 打印出来。
 
# coding = utf-8

from selenium import webdriver

driver
= webdriver.Chrome()
driver.get(
'http://www.baidu.com')
print driver.title  # 把页面title 打印出来
driver.quit()
 
虽然我没看到脚本的执行过程,但我在执行结果里看到了
>>>
百度一下,你就知道

  说明页面正确被我打开了。
更多内容,关注更新.....

 
 


  本文链接:http://www.cnblogs.com/fnng/p/3160606.html,转载请注明。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-372825-1-1.html 上篇帖子: Python内置的字符串处理函数整理 下篇帖子: python用于数学计算的工具介绍:scipy和numpy
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表