Robot Framework学习笔记(五)web页面元素定位

范福
2023-12-01

一、常用定位方法

最常用的有id、name、XPath、CSS这4种,其中id和name两种定位方法最为简单实用,这两个属性具有惟一性,但并非所有元素都会存在这两个属性。如果元素没有id和name属性,一般就会采用XPath和CSS定位方法。
XPath和CSS两种定位方法几乎可以满足所有Web项目的定位需求。

二 、采用XPath方法定位

XPath是一种在XML文档中定位元素的标记语言。
XPath查找定位元素的几种常见写法如下:

1、XPath绝对路径

示例:XPath = /html/body/div[2]/div[2]/div[1]/input 查找html下的body下面的div下面的…input标签,通过一级一级地找到想要的元素。绝对路径的写法往往是在我们迫不得已的时候才会采用的。

2、XPath相对路径

XPath相对路径结合元素自身属性来进行定位,例如百度搜索输入框 XPath=//*[@id=“kw”],其中//表示某个层级下,*表示在某个标签名。@id=kw表示这个元素的id等于kw,是它自身的属性。
一般也可以指定标签名,例如 XPath=//input[@id=“kw”]。
能用到的属性也不只局限为于id和name,例如XPath=//input[@value=“1”]。

3、找上级

当一个元素自身的属性无法唯一识别它的时候,可以先找到它的上级元素,例如 XPath=//span[@ class=“bg btn”]/input。如果父级元素也无法唯一标识,还可以继续往上找,例如XPath=//form[@id=“form”]/span/input。

4、布尔值写法

通过多种属性组合的形式来定位元素,
例如 XPath=//input[@id=“kw” and @name=“wd”] 或者XPath=//input[@id=“kw” or @name=“wd”]。

三、采用CSS方法定位

CSS是一种样式语言,它被用来描述HTML和XML文档的表现。CSS使用选择器来为页面元素绑定属性,这些选择器可以被Web自动化测试用来定位元素。CSS可以灵活地选择控件中的任意属性,并且在一般情况下定位速度要比 XPath快。

常用的CSS选择器

选择器示例示例说明
.class.intro选择class="intro"的所有元素
#id#name选择id="name"的元素
**选择所有元素
elementp选择<p>元素
element,elementdiv,p选择所有<div>元素和所有<p>元素
element elementdiv p选择<div>元素内部的所有元素
element>elementdiv>p选择父元素为<div>元素的所有元素
element+elementdiv+p选择紧接在<div>元素之后的所有<p>元素
[attribute][target]选择带有target属性的所有元素
[attribute=value][target=_blank]选择target=_blank的所有元素
[attribute~=value][title~=flower选择title属性包含单词flower的所有元素
[attribute |=value][lang |=en]选择lang属性值以“en”开头的所有元素

示例:

Input Text    css=#kw    robotframework    #根据id定位元素,输入文本框内容

推荐阅读
Robot Framework学习笔记(一)python3+robotframework3.2.1安装
Robot Framework学习笔记(二)变量的定义和使用
Robot Framework学习笔记(三)HTTP接口测试
Robot Framework学习笔记(四)web自动化测试

 类似资料: