总结Selenium自动化测试方法(三)WebDriver定位元素方法
三、WebDriver定位元素
推荐使用的webdriver是firefox,因为他的firebug更能可以帮助定位页面元素使用
# create a new Firefox session
cls.driver = webdriver.Firefox()
1、通过id定位
可以通过find_element_by_id()方法来定位元素
#通过id定位
self.driver.find_element_by_id("hl").click()
self.driver.find_element_by_id("m1").click()
2、通过name定位
可以通过find_element_by_name()方法来定位元素
#通过name定位
self.driver.find_element_by_name("panel").click()
self.driver.find_element_by_name("find").click()
3、通过class定位
可以通过find_element_by_class_name()方法来定位元素
#通过class定位
self.driver.find_element_by_ class_name("panel panel-default").click()
self.driver.find_element_by_ class_name("panel-body").click()
4、通过tag定位
可以通过find_element_by_tag_name()方法来定位元素
#通过tag定位
self.driver.find_element_by_ tag_name("input").click()
self.driver.find_element_by_ tag_name("tag_name").click()
5、通过link定位
可以通过find_element_by_link_text()方法来定位元素
#link定位
self.driver.find_element_by_link_text("新闻").click()
self.driver.find_element_by_ link_text("贴吧").click()
6、通过XPath定位
可以通过find_element_by_xpath()方法来定位元素,其中包括绝对路径定位、元素属性定位、层级与属性结合定位、逻辑运算符定位
#绝对路径定位
self.driver.find_element_by_xpath("/div/div[2]/div/div/div[2]/div").clear()
#元素属性定位
self.assertEqual(self.driver.find_element_by_xpath("//div[@class='modal-content']//div[@class='modal-header']//div[@class='bootstrap-dialog-header']//div[@class='bootstrap-dialog-title']").text,u"插入链接")
#层级与属性结合定位
self.driver.find_element_by_xpath("//div[@class='editor-tool-bar']/div[2]/button").send_keys('C:\Users\Public\Pictures\Sample Pictures\Lighthouse.jpg')
#逻辑运算符定位
self.driver.find_element_by_xpath("//div[@class='form-group' and @id=’form’]//input[@id='ILD_linkText']").send_keys(u"贵金属主站")
7、通过CSS定位(略)
8、通过By定位(略)
总结Selenium自动化测试方法(三)WebDriver定位元素方法的更多相关文章
- WebDriver定位元素方法
如果把页面上的元素看作人的话,在现实世界如何找到某人呢?方法有三: 一.通过人本身的属性,例如他的姓名,手机号,身份证号,性别,这些可区别他人的属性.在web页面上的元素也有这些属性,例如,id.na ...
- 总结Selenium自动化测试方法(一)自动化测试基础
总结Selenium自动化测试方法 一.自动化测试基础 1.什么样的项目适合自动化测试 ①任务测试明确,不会频繁变动 ②每日构建后的测试验证 ③比较频繁的回归测试 ④软件系统界面稳定.变动少 ⑤需要在 ...
- selenium+python定位元素方法
定位元素方法 官网地址:http://selenium-python.readthedocs.org/locating-elements.html 这里有各种策略用于定位网页中的元素(l ...
- Selenium Webdriver定位元素的几种方式
原文:http://www.cnblogs.com/tobecrazy/p/4570494.html 工作中使用到记录一下. 主要有: 上传 alter dialog prompt dialog co ...
- python selenium自动化(三)Chrome Webdriver的兼容
当一个自动化测试被实现在一个浏览器之后,我们会希望我们的测试能够覆盖到尽量多的别的浏览器.通过跨平台的测试来保证我们的程序在多个浏览器下都能正常工作. 在安装了selenium之后,firefox w ...
- selenium中的webdriver定位元素失败的常见原因
自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最 ...
- ui自动化之selenium操作(二)定位元素-简单操作
1. 将浏览器最大化 这里拿chrome举例,但是我在执行的时候一直报错,被坑了好久; 解决办法: 这是因为chromedriver是和chrome一一对应的,不兼容的版本就会报错: 所有chrome ...
- WebDriver的定位元素方法
如果把页面上的元素看作人的话,在现实世界如何找到某人呢?方法有三: 一.通过人本身的属性,例如他的姓名,手机号,身份证号,性别,这些可区别他人的属性.在web页面上的元素也有这些属性,例如,id.na ...
- 解决Selenium弹出新页面无法定位元素问题(Unable to locate element)
Python 2.7 IDE Pycharm 5.0.3 环境细节详见Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录 对于同一页面无法定位元素问题请见姊妹篇解 ...
随机推荐
- noi2006day2_最大获利 网络流
这道题是上一题的数据加强版,dinic表示毫无压力: #include<iostream> #include<cstdio> #include<cstring> # ...
- 4-Highcharts 3D图之3D普通饼图
<!DOCTYPE> <html lang='en'> <head> <title>4-Highcharts 3D图之3D普通饼图</title& ...
- python开发中常用的框架
以下是15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python Web应用开发框架 Django 应该是最出名的 ...
- MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档[原创]
[文章+程序 作者:张宴 本文版本:v1.0 最后修改:2008.07.01 转载请注明原文链接:http://blog.zyan.cc/post/356/] MySQL在高并发连接.数据库记录数较多 ...
- 用 VIPER 构建 iOS 应用架构(2)
[编者按]本篇文章由 Jeff Gilbert 和 Conrad Stoll 共同编写,通过构建一个基础示例应用,深入了解 VIPER,并从视图.交互器等多个部件理清 VIPER 的整体布局及思路.通 ...
- SiteView
http://www.siteview.com/cms/sites/public/home.html
- **RESTful API版本控制策略
做RESTful开放平台,一方面其API变动越少, 对API调用者越有利:另一方面,没有人可以预测未来,系统在发展的过程中,不可避免的需要添加新的资源,或者修改现有资源.因此,改动升级必不可少,但是, ...
- 标准管道(popen)
NAME popen, pclose - pipe stream to or from a process SYNOPSIS #include <stdio.h> FILE *popen( ...
- C之算法
1° 选择排序算法 核心思路如下图: 以字符串排序进行说明 #include <stdio.h> #include <string.h> #define SIZE ...
- linux系统下挂载windows共享目录
在工作中有时我们需要在linux上挂载windows共享目录.首先我们需要学会在linux上查看windows共享了那些目录.查看操作需要安装samba-client. [root@ ~]# yum ...