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

时间:2023-03-08 22:53:40
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)

#模拟输入元素