Selenium学习笔记之011:操作对象 分类: Selenium 2015-07-22 23:33 15人阅读 评论(0) 收藏

操作对象:

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

WebElement  另一些常用方法:

  • · text  获取该元素的文本
  • · submit  提交表单
  • · get_attribute  获得属性值

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

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

· click 点击对象

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

· clear 清除对象的内容

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的场景,他们之间到底有啥区别?


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的方法:

 

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

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

这个类代表HTML页面元素

下面做一个WebElement方法汇总:

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)

#模拟输入元素


本文部分参考虫师的webdriver文档。


版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-07-22 23:33  BruceLan  阅读(119)  评论(0编辑  收藏  举报