在Selenium中定位元素有七种方法:
1. identifier定位
这是最普遍的一种定位方式,在Selenium中默认为identifier定位,在这种策略下,第一个使用id的页面元素将被识别出来,如果没有使用指定id的元素,那么将识别第一个名字与指定条件相符的元素。例如:identifier=Continue //定位页面元素为Continue因为identifier定位是默认方式,因此“identifier=” 可以不写。
2. id定位(最常用)
这种定位方式比identifier定位范围更窄,当然也更具体,如果你知道元素id特征,就使用这种方式,例如:id=loginFrom //定位页面元素from
3. name定位
name定位将会识别第一个匹配名称属性的UI元素。如果多个元素拥有相同的名称属性,可以使用过滤器来进一步优化你的定位策略。默认的过滤器是Value(匹配value特征):
例如:name=Continue value=Clear //定位页面元素为Continue,值为Clear
提示:
上述三种定位是selenium可以不依赖于UI元素在页面上的位置而进行测试。所以,当页面结构发生变化时,测试依然可以通过。有时候,设计人员频繁改动页面的情况,通过id和name特征定位元素就变的非常重要。
4. XPath定位(常用)
XPath是一种在XML文档中定位元素的语言。因为HTML可以看做XML的一种实现,所以selenium用户
可是使用这种强大语言在web应用中定位元素。
例如:xpath=/html/body/form[1]//绝对路径(html的任何轻微改变都会导致失败)
5. 通过超链接定位
可以通过连接文字来定位超链,如果两个链接文字相同,那么第一个匹配的将被识别出来。例
如:link=continue //定位页面元素连接文字为continue
6. DOM定位
Document Object Model被用于描述HTML文档,可以使用javaScript来访问。
例如:dom=document.getElementById(‘loginForm‘) // 定位页面元素form
7.CSS定位
CSS(Cascading StyleSheets)是一种语言,它被用来描述HTML和XML文档的表现。CSS使用选择器来为
页面元素绑定属性。这些选择器可以被selenium用作另外的定位策略。例如:css=form#loginForm
//定位页面元素form