一.Web自动化测试之八大元素定位

一.定位元素

1.通过使用元素的标签名定位元素<标签></标签>:但是,标签名很容易重复,所以该方法找到的是页面中的第一个该标签名的元素

find_element_by_bag_name(标签)

2.通过元素的id属性来定位元素<标签名 id='id的属性值'></标签名>:该查找方式很常用,但是要注意某些情况下,id的值也会重复

find_element_by_id('id的属性值')

3.通过元素的name属性值来定位元素<标签名 name='name的属性值'></标签名>

find_element_by_name('name的属性值')

4.通过元素的class属性值来定位元素<标签名 class='class的属性值'></标签名>:class属性值往往不唯一,定位到的也是第一个,而且class属性有的时候有多个值,多个值是用空格隔开的,遇到这种情况不能全部复制所有的class值,能用其中一个即可。

5.针对链接定位的方式有两种:

  1.通过链接的文本定位<a>链接文本</a>

  find_element_by_link_text('链接文本')

  2.有的时候,链接文本很长,这时,可以截取部分且连续的关键字来进行元素的定位

  find_element_by_partial_link_text('文本')

6.通过元素的css选择器定位元素:可以通过对元素的源代码进行右键复制得到。

find_element_by_css_selector('复制的内容')

7.通过元素的xpath路径定位元素:可以通过对元素的源代码进行右键复制得到。

find_element_by_xpath('复制的内容')

 

css选择器获取方式:

 

 xpath:

谷歌浏览器参考下图:

 

 

二.xpath定位详解

xpath分为绝对路径和相对路径

绝对路径以/开头,相对路径以//开头,绝对路径从/html标签开始,一般不建议使用绝对路径。

相对路径的语法:

//标签名[@属性名=’属性值’]

表示找到一个与标签名相同的元素,且它的属性名及对应的属性值,与方括号中的属性名和属性值相同。

如果标签名是*,那么表示任意标签都在匹配的范围内。

方括号中,也可以是序号。

//标签名/标签名[序号]/标签名

 

绝对路径的语法:

/html/标签[序号或属性]/标签[序号或属性]

其中,序号,表示在当前标签的同级标签中,与当前标签相同的所有元素的中的序号,序号从1开始!

/html/body/div[1]/div[1]/div[3]/a[2]

posted @ 2022-03-26 11:10  测试周小白  阅读(148)  评论(0编辑  收藏  举报