python-day0003-搭建基于python的selenium自动化测试---元素定位
来源:互联网 发布:网络自学网初二下学期 编辑:程序博客网 时间:2024/04/27 23:08
一般的web页面都包含了文字链接、输入框、按钮、图片、下拉框等多种不同类型的要素。自动化则是通过一定的代码手段,模拟人点击鼠标、键盘、输入文字等操作。要操作这些元素,首先要定位到被操作的对象,如一个文本输入框,一个按钮等。以下面的代码为例:
<div id="loginBlock" class="login tab-2"><div class="loginFunc"><div id="appLoginTab" class="loginForm" style="display: none;"><div id="normalLoginTab" class="loginForm" style="display: block;"><form id="login163" target="frameforlogin" action="http://mail.163.com/" method="post" name="login163"><input id="savelogin" type="hidden" value="0" name="savelogin"><input id="url2" type="hidden" value="http://mail.163.com/errorpage/error163.htm" name="url2"><div id="idInputLine" class="loginFormIpt showPlaceholder"><b class="ico ico-uid"></b><input id="idInput" class="formIpt" type="text" value="" maxlength="50" name="username" title="请输入帐号" tabindex="1" autocomplete="off"><span id="showdomain" class="domain">@163.com</span><div id="mobtips"></div><label id="idPlaceholder" class="placeholder" for="idInput">邮箱帐号或手机号</label><div id="idInputTest"></div></div><div id="normalLogin"><div id="pwdInputLine" class="loginFormIpt showPlaceholder"><b class="ico ico-pwd"></b><input id="pwdInput" class="formIpt formIpt-focus" type="password" name="password" title="请输入密码" tabindex="2"><label id="pwdPlaceholder" class="placeholder" for="pwdInput">密码</label><p id="capsLockHint" style="display: none">大写状态开启</p></div></div>……</form><div id="loginExt" class="ext"></div></div>
以上的代码来自163邮箱的登陆页面,如下图所示
现在我们要做的是,使用不同的方式,对页面中的元素进行定位。
以获取邮箱地址的输入框为例
1.使用id进行定位
这个方法在 上一篇文章中已经使用过了,这里再次记录一遍。获取方式为:
find_element_by_id("idInput")
通过id的属性值来定位元素
2.使用name定位,方式为
find_element_by_name("username")
通过name的属性值来定位。有些标签中并没有设置name属性,对于这类元素,则无法使用name的方式进行定位了
3.使用class定位(这里的class指的是html标签中的class属性),定位方法为:
find_element_by_class_name("formIpt")
其他的一些定位方式
4.对于每一个元素本身而言,都是一个标签,即一个tag, 在一个网页中,每种标签的个数都是不确定的个数,很难通过tag的方式进行定位。但可以简单了解一下tag的定位方法:如查找<label>标签
find_element_by_tag_name("label")
5.通过lnk定位
如
<a id="baidu" href="http://www.baidu.com">百度</a>
<a id="sougo" href="http://www.sougo.com">搜狗</a>
那么,当我们需要定位到搜狗时,使用link定位时,则只需要使用下面的方式就可以定位到:
find_element_by_link_name("搜狗");
此方法是通过元素标签对之间的文本信息来定位元素
6.如果文本链接超长,那么可以使用文本链接中的一部分文字来进行定位,这时,就需要用到partial link 来定位了。方法如下:
find_element_by_partial_link_name("部分文字")
一般习惯较好的程序员,在编写html网页程序时,都会为关键元素的标签加上id和name属性。那么,我们可以直接根据id或属性就能准确地定位到查找的元素。
7.使用XPath定位
find_element_by_xpath("//input[@id='idInput']")
// 表示当前页面的某个目录下
input 表示定位元素的标签名
[@id='idInput'] 表示这个元素的id属性值等于idInput
如果不想指定标签名,可以使用*来表示
即:
find_element_by_xpath("//*[@id='idInput']")
其他还有很多定位的方法,以后用到了,再记录。
- python-day0003-搭建基于python的selenium自动化测试---元素定位
- python-day0003-搭建基于python的selenium自动化测试---第一个简单的测试脚本
- 初学者的Selenium自动化测试指南,基于Python(一)——元素定位
- 基于python的selenium自动化测试环境搭建
- 在Windows搭建基于selenium+python的自动化测试环境
- selenium+python自动化测试(三)--页面元素定位
- 3、Selenium + Python 实现 UI 自动化测试-元素定位
- 4、Selenium + Python 实现 UI 自动化测试-定位元素吗?
- 基于Python+selenium的自动化测试基础
- 简单自动化元素定位selenium python
- 轻松自动化---selenium-webdriver(python) (三) 简单元素的定位
- 初学者的Selenium自动化测试指南,基于Python(六)——如何设置元素等待
- 基于python的自动化测试框架搭建
- 基于python语言的selenium自动化测试(1)-环境搭建
- 搭建Python Selenium自动化测试环境
- python+ selenium自动化测试环境搭建
- Selenium+Python自动化测试环境搭建
- selenium+python自动化测试环境搭建
- CF 593A 2Char
- 安卓日记——教你做简单的应用锁
- jQuery给动态添加的元素绑定事件
- 欢迎使用CSDN-markdown编辑器
- C++模板
- python-day0003-搭建基于python的selenium自动化测试---元素定位
- 通过maven-weblogic-plugin实现weblogic的自动部署
- Java基础:IO 流中的 flush
- flex布局简介
- 二叉树的各种遍历算法
- [转]TIME类的运算符重载
- sublime上的JS代码提示2---api
- C++的一些简单示例(5)
- gdb调试多进程和多线程程序