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() # #关闭当前窗口