py+webdriver学习之旅2:初探

  前言:人最宝贵的是生命,生命每人只有一次,人的一生应当这样度过:当他回忆往事的时候,他不会因为虚度年华而悔恨;也不会因为碌碌无为而羞愧,当他临死的时候,他能够说:我的整个生命和全部精力,都献给了世界上最壮丽的事业——为解放全人类而斗争。人应当赶紧的充分的生活,因为意外的疾病和悲惨的事故随时都可能结束他的生命。

  当我懈怠的时候,我就会想起保尔柯察金的话,keep moving,然后为大家做出自己的一份贡献。昨晚在整理自己博客的时候,发现14年4月写的python+webdriver入门配置孤零零得待在一角,我觉得是时候写点他的后续文章了。之前也有很多测试前辈写过py+webdriver系列文章,作为一个初级自动化测试员的我写这个系列真是诚惶诚恐的,但是我觉得很有必要表明我的态度,尝试一下也没有什么不好的。

 

  接下来带来这篇py+webdriver学习之旅2:初探

  本篇我将以脚本的形式给大家展示常用的用法

  百度输入框的属性,请用firefox的firebug定位

  <input id="kw" class="s_ipt" autocomplete="off" maxlength="100" value="" name="wd">

  

__author__ = 'Administrator'
#coding=utf-8

from selenium import webdriver
import time
from selenium.webdriver.support.ui import  WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains

'''以下讲列举分别启动三种浏览器的方法
ff不需要driver,而IE跟Chorme需要专门的driver
初学者注意py严格要求大小写以及缩进
新手建议启动好测试网站之后,一个个api进行尝试操作,慢慢进行熟悉'''
driv#通过元素name
driver.find_element_by_class_name()
#通过元素css属性,如有疑问请看我的selenium版块的css转载博客,链接http://www.cnblogs.com/wyx123/articles/4106138.html
driver.find_element_by_css_selector("#kw")
#通过元素id,并输入selenium,send_keys()为模拟用户输入
driver.find_element_by_id("kw").send_keys("selenium")
#通过元素xpath,详细链接可以看http://www.w3school.com.cn/xpath/index.asp
driver.find_element_by_xpath("//input[name=wd]")
#通过元素link_text,文件链接
driver.find_element_by_link_text("贴吧")
#通过tag_name,控件名为input
driver.find_element_by_tag_name("input")
#通过class——name
driver.find_element_by_class_name("s_ipt")
#通过部分链接
driver.find_element_by_partial_link_text("帖")

#介绍三种等待时间设置方法
#固定等待时间.0.2秒
time.sleep(0.2)
#智能等待,30秒范围内等待
driver.implicitly_wait(30)
#页面跳转,直到找到这个name为username的控件,时间范围为30秒
WebDriverWait(driver,30).until(lambda x: x.find_element_by_name("username"))

#python的打印title
print driver.title

#浏览器最大化
driver.maximize_window()
#浏览器设置width,high
driver.set_window_size(480,800)

#鼠标的操作:点击,模拟按键,清除对象内容,获取元素文本信息,双击,拖动
driver.find_element_by_partial_link_text("帖").click()
#中文乱码问题
driver.find_element_by_id("kw").send_keys(u"你好")
driver.find_element_by_partial_link_text("帖").clear()
data=driver.find_element_by_partial_link_text("帖").text
print data

#鼠标进行右击
a=driver.find_element_by_name("name=q")
ActionChains(driver).context_click(a).perform()
#双击
ActionChains(driver).double_click()
#退出关闭窗口的driver驱动
driver.quit()
# #关闭当前窗口

  

  

  

posted @ 2015-01-07 22:41  Mr.Dantes  阅读(254)  评论(0编辑  收藏  举报