qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

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

 本节知识点:

  操作对象:

  · click 点击对象

  · send_keys 在对象上模拟按键输入

  · clear 清除对象的内容,如果可以的话

  WebElement  另一些常用方法:

  · text  获取该元素的文本

  · submit  提交表单

  · get_attribute  获得属性值

  ======================================

  操作测试对象

  前面讲到了不少知识都是定位元素,定位只是第一步,定位之后需要对这个原素进行操作。

  鼠标点击呢还是键盘输入,这要取决于我们定位的是按钮还输入框。

  一般来说,webdriver中比较常用的操作对象的方法有下面几个

  · click 点击对象

  · send_keys 在对象上模拟按键输入

  · clear 清除对象的内容,如果可以的话

  在我们本系列开篇的第一个例子里就用到了到click 和send_skys ,别翻回去找了,我再贴一下代码:

# coding = utf-8
from selenium import webdriver

browser = webdriver.Firefox()

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



send_keys("XX")   用于在一个输入框里输入内容。

  click()   用于点击一个按钮。

  clear()   用于清除输入框的内容,比如百度输入框里默认有个“请输入关键字”的信息,再比如我们的登陆框一般默认会有“账号”“密码”这样的默认信息。clear可以帮助我们清除这些信息。

  WebElement  另一些常用方法:

  · text  获取该元素的文本

  · submit  提交表单

  · get_attribute  获得属性值

  text

  用于获取元素的文本信息

  下面把百度首页底部的声明打印输出

#coding=utf-8
from selenium import webdriver

import  time

driver = webdriver.Firefox()
driver.get(http://www.baidu.com)
time.sleep(2)

#id = cp 元素的文本信息
data=driver.find_element_by_id("cp").text
print data   #打印信息

time.sleep(3)
driver.quit()

  输出:

  >>>
  2013 Baidu 使用百度前必读 京ICP证030173号

  submit

  提交表单

  我们把“百度一下”的操作从click 换成submit :

#coding=utf-8
from selenium import webdriver

import time

driver = webdriver.Firefox()
driver.get(http://www.baidu.com)

driver.find_element_by_id("kw").send_keys("selenium")
time.sleep(2)
#通过submit() 来操作
driver.find_element_by_id("su").submit() 

time.sleep(3)
driver.quit()

  这里用submit 与click的效果一样,我暂时还没想到只能用submit 不能用click的场景。他们之间到底有啥区别,知道的同学请留言告诉我。

  get_attribute

    获得属性值。

    这个函数的用法前面已经有出现过,在定位一组元素的时候有使用到它,只是我们没有做过多的解释。

    一般用法:

select = driver.find_element_by_tag_name("select")

allOptions = select.find_elements_by_tag_name("option")

for option in allOptions:

print "Value is: " + option.get_attribute("value")

option.click()

    具体应用参考:

    定位一组元素:http://www.cnblogs.com/fnng/p/3190966.html

    小结:

    学到这里我们是不是已经撑握了不少知识,简单的操作浏览器,定位元素,操作元素以及打印一些信息。其实,我们前面的学习中大多使用的是WebElement 里的方法。

    WebElement的方法:

    一般来说,所有有趣的操作与页面进行交互的有趣的操作,都通过 WebElement 完成

    classselenium.webdriver.remote.webelement.WebElement(parent, id_)

    这个类代表HTML页面元素

id_

#当前元素的ID

tag_name

#获取元素标签名的属性

text

#获取该元素的文本。

click()

#单击(点击)元素

submit()

#提交表单

clear()

#清除一个文本输入元素的文本

get_attribute(name)

#获得属性值

s_selected(self)

#元素是否被选择

Whether the element is selected.

is_enabled()

#元素是否被启用

find_element_by_id(id_)

find_elements_by_id(id_)

#查找元素的id

find_element_by_name(name)

find_elements_by_name(name)

#查找元素的name

find_element_by_link_text(link_text)

find_elements_by_link_text(link_text)

#查找元素的链接文本

find_element_by_partial_link_text(link_text)

find_elements_by_partial_link_text(link_text)

#查找元素的链接的部分文本

find_element_by_tag_name(name)

find_elements_by_tag_name(name)

#查找元素的标签名

find_element_by_xpath(xpath)

#查找元素的xpath

find_elements_by_xpath(xpath)

#查找元素内的子元素的xpath

find_element_by_class_name(name)

#查找一个元素的类名

find_elements_by_class_name(name)

#查找元素的类名

find_element_by_css_selector(css_selector)

#查找并返回一个元素的CSS 选择器

find_elements_by_css_selector(css_selector)

#查找并返回多个元素的CSS 选择器列表

send_keys(*value)

#模拟输入元素

相关文章:

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

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


posted on 2013-08-15 10:16 顺其自然EVO 阅读(814) 评论(0)  编辑  收藏 所属分类: selenium and watir webdrivers 自动化测试学习


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年8月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜