http://www.testclass.net/  测试教程网,专业的selenium 学习网站。

本节知识点:

操作对象:

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

WebElement  另一些常用方法:

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

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

操作测试对象

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

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

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

· click 点击对象

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

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

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

# coding = utf-8
from selenium import webdriverbrowser = 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 webdriverimport  timedriver = 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 webdriverimport timedriver = 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 内容:

「功能测试自动化」汇总

轻松自动化---selenium-webdriver(python) (六)相关推荐

  1. Selenium WebDriver + python 自动化测试框架

    目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...

  2. selenium webdriver (python)的基本用法一

    阅在线 AIP 文档: http://selenium.googlecode.com/git/docs/api/py/index.html 目录 一.selenium+python 环境搭建..... ...

  3. selenium webdriver (python) 第一版PDF

    前言 如果你是一位有python语言基础的同学,又想通过python+ selenium去实施自动化,那么你非常幸运的找到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助. 其实,我在sel ...

  4. python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理

    Webdriver运行原理 转帖请注明出处!谢谢 在开发Webdriver的自动化脚本过程中,Webdriver后台在创建WebDriver实例的过程中,先确认浏览器的原生组件中是否存在可匹配的版本. ...

  5. 测开系列Selenium Webdriver Python(21)--元素定位2

    以上学习的是element的基本属性和方法,那么验证点添加的技巧和方式是什么呢?我们知道自动化的过程就是人的手工测试的过程,在手工测试中需要人来判断业务是否达到需求要求,那么在自动化脚本中就要加入程序 ...

  6. 50+道自动化/Selenium/性能/Python面试题

    写在前面 公司要求招一名自动化测试,能力要求不高,1年左右自动化经验+部分性能经验即可,让我出一份题,我就百度+公司项目遇到的问题,出了一份,出题整体思路是:接口自动化问题+性能问题+规划的ui.ap ...

  7. Linux运行webdriver,linux - 在chrome中运行Selenium WebDriver python绑定

    我在使用Selenium时遇到了问题. 对于我的项目,我必须使用Chrome. 但是,在使用Selenium启动它后,我无法连接到该浏览器. 出于某种原因,Selenium无法单独找到Chrome. ...

  8. selenium webdriver python 元素操作

    常用操作 click 点击某个元素 driver.find_element_by_id("su").click() clear driver.find_element_by_id( ...

  9. selenium webdriver python 环境搭建

    1. 安装python https://www.python.org/getit/ 选择2.7版本,下载安装即可. 验证是否安装成功:打开cmd,输入"python -V",显示p ...

  10. selenium webdriver(python)_selenium、webdriver及浏览器的关系及对应版本安装

    selenkium支持多种浏览器,包括Chrome,Safari,Firefox.Edge 等,我们以Chrome浏览器为例学习.先完成以下3步: 1 selenium安装 安装selenium和安装 ...

最新文章

  1. 学习Struts--Chap02:Struts2框架各个功能模块和程序执行流程的介绍
  2. JS特效——黑客效果JS代码(摘取)
  3. redis源码剖析(十四)—— dump.rdb文件分析工具
  4. 下班后比你多学2个小时的人,在看这几个公众号
  5. 使用exp导出报错EXP-00091
  6. pytorch---之指定GPU
  7. ios之alloc和init
  8. license授权什么意思_微信公众号的scope权限什么意思
  9. 【C++】【Opencv】【vs2015】环境配置
  10. 炸群java脚本,跪求微信炸群代码_跪求以下java程序的源代码
  11. Python智能对话机器人实现
  12. 反射的学习(参考尚硅谷视频)
  13. HTTP协议抓包分析
  14. 基于华三交换机,限制其他网段的IP访问
  15. 4-20mA电流输出设计方案
  16. 计算机局域网的组网,计算机局域网组网方案设计(精选).doc
  17. 平凡的世界,因你而美
  18. HCIE华为面试-BGP负载分担
  19. Jmeter--基础使用
  20. Python爬取高颜值美女(爬虫+人脸检测+颜值检测)

热门文章

  1. 理解随机森林:基于Python的实现和解释
  2. 告警系统邮件引擎、运行告警系统
  3. 上struts2的xml在lt;result type=quot;redirectquot;gt;参数问题
  4. 拉登游戏开发--C#实现过程
  5. 如果你不曾失败,只因你从未尝试
  6. Exchange2007中创建收件人对象、通讯组和地址列表和客户端访问
  7. Visual C#的SQL Server编程
  8. Sqlite数据库中索引的使用、索引的优缺点
  9. java 数据结构源码--Trie树
  10. golang应用日志