最近有个项目升级了前端库,出现了一些悬停出现移开就消失、或点击出现查看属性就消失的元素,而且消失时会把对应节点的html信息全给去除,于是写web脚本时无论是selenium还是playwright就会无法获取其结构和属性。这里记录一下几种方式,给QA人员查询备忘。
- hover上去或者点击三个点出现的菜单等,最简单的方式就是用视觉方式,因为我是实现过一套,当要操作时,根本不用管dom里的变化,直接看到菜单出现文字匹配上了就点击。这是最简单的方式,不过有的框架里没集成这个功能,而且当需要检查dom里某个class属性之类的时,视觉识别没有用。
- 打开devtool,在console里输入“setTimeout(() => { debugger; }, 3000);”,此时相当于3秒后就会暂停,那么3秒内悬停或者点击触发菜单,等dom发生了变化自动暂停后就不会消失了,可以去查看dom属性变化和编写xpath。这是一种很简便有效的方式了。
- devtool中element tab里,在将会出现和消失的元素的父节点上选择右键->break on->subtree modifications,当悬停或点击令这个元素出现或消失,就会自动暂停,然后可以查看元素了。不过这个方式有时候不适用,元素未出现但发生了其他变化,也会暂停住。
文章评论 (0)