栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

提升之路--从0开始学web自动化(3)--xpath元素定位&等待

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

提升之路--从0开始学web自动化(3)--xpath元素定位&等待

为什么要使用xpath

当元素没有id name属性,通过class,tagname找到的不是唯一的,而link_text和partial_link_text只能用在a标签

使用xpath可以组合多个条件进行筛选,也可以根据元素之间的层级关系进行查找

绝对路径和相对路径

/绝对路径(不用)

//相对路径

相对路径xpath表达式

//相对路径

*表示任意的标签名称    //input 表示标签是input

[]条件    //input[@id=”kw”] 表示要在input标签里面要有一个id属性 且id属性的值要是kw

Xpath的验证

在页面中按F12后再按ctrl+F

 能够查看找到多少个元素,实际当中要找到唯一的一个

实战当中采取怎样的方式去获取xpath

1,通过右击元素的源代码,复制xpath表达式,但是有时候会获取到绝对路径

2,chropath插件

3,编写xpath表达式 

编写xpath的方法

通过属性

//(相对路径)标签名[@属性名=”属性值”]

通过文本内容

完全匹配//a[text()=””]

 包含标签//a[contains(text(),新闻],一般用在a标签,因为文本最前面可能会有空格

 

多个条件组合 and

 如果多个条件组合后还是有相同,就使用索引 xpath索引是以[1]开头

 

 最好加上括号 表示优先级,表示先获取符合的属性,再取索引

元素之间的层级

 先编写父级的元素,再编写子级的元素,父子之间可以用/,隔代要用//

通过子级往上找//sub/../..

 

 轴运算/定位

寻找祖先ancestor

 

寻找同级

选取当前节点之前的所有同级节点 preceding-sibling

选取当前节点之后的所有同级节点 following-sibling

 

查找元素报错

进行web自动化测试时候,会经常出现以下报错

selenium.common.exceptions.NoSuchElementException: Message: no such element

1,表达式错误

2,没有等待

等待的方法

-强制等待,time.sleep(3)

-隐性等待

在规定时间内不断查找,直到元素被加载

智能等待元素被加载,全局只需要设置一次,但是只能等待元素被加载,数据可能还没被加载完成,就算拿到了元素也不一定会生效

 -显性等待

用法相对麻烦,不易理解

智能等待元素被加载,每次使用之前都要使用,用于等待某个元素可以被点击,某个元素可见

可以自己设置某种条件,如果条件满足就返回,如果条件不满足,就会继续执行,知道超时

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/588796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号