webdriver(python)学习笔记六——操作测试对象

 

定位到具体对象后,就需要对其进行操作,比如点击、输入内容等。

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

  • click 点击对象
  • send_keys 在对象上模拟按键输入
  • clear 清除对象的内容,如果可以的话

前面文章提到,以登录百度,输入查询条件,点击按钮为例。代码如下:

# 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()

其中

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

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

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


webelement部分用法:

· text  获取该元素的文本

· submit  提交表单

· get_attribute  获得属性值

text

# coding:utf-8

from selenium import webdriver
from time import sleep
import os

dr=webdriver.Firefox()
dr.get('http://www.baidu.com')
sleep(1)

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

sleep(1)

dr.quit()
    

输出结果为:©2014 Baidu 使用百度前必读 京ICP证030173号

submit

# coding:utf-8

from selenium import webdriver
from time import sleep
import os

dr=webdriver.Firefox()
dr.get('http://www.baidu.com')
sleep(1)

dr.find_element_by_id("kw").send_keys('放假安排')
driver.find_element_by_id("su").submit()
sleep(1)

dr.quit()

在这里,使用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()


定位一组元素可以参考前面学到的内容。

 

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)

#模拟输入元素

 

 

posted @ 2014-01-26 16:15  milkty  阅读(1170)  评论(0编辑  收藏  举报