经典面试题-定位不到元素

本文引用自霍格沃兹测试开发学社录播课《定位不到元素》

经典面试题-定位不到元素

霍格沃兹测试开发
http://ceshiren.com

学习目标

  • 了解常见问题
  • 了解每个问题对应的知识点/解决方案
  • 回顾录播课内容

元素定位常见的相关问题

  • Selenium/Appium定位方法有几种?分别是?
  • 定位不到元素是什么原因导致的?
  • selenium 中隐藏元素如何定位?
  • 如何定位动态元素
  • 如何通过子元素定位父元素
  • 如何判断一个页面上元素是否存在?
  • 有的元素就加载页面上,但是你却定位不到,怎么解决
  • 一个元素明明定位到了,点击无效(也没报错),如何解决?

问题分类

类型 面试问题
元素定位 Selenium定位方法有几种?分别是?
如何通过子元素定位父元素?
元素定位不到 定位不到元素是什么原因导致的?
如何定位动态元素
selenium 中隐藏元素如何定位?
有的元素就加载页面上,但是你却定位不到,怎么解决
元素操作 一个元素明明定位到了,点击无效(也没报错),如何解决?
如果产品总是出现弹窗,导致用例无法执行,应该如何解决?
如何获取app中的toast消息提示?
元素是否在页面存在 如何判断一个页面上元素是否存在?

元素是否在页面存在

  • 问题:如何判断一个页面上元素是否存在?
  • 解决方案:通过查看当前页面dom,搜索该元素是否存在。如果是脚本自动化运行过程中,应该通过打印page_source,即可了解到该元素在运行过程中是否存在
  • 对应知识点:《自动化关键数据记录》

元素定位

面试问题 答案 对应录播
Selenium定位方法有几种?分别是? 八种定位方式,常用的为id、name、css、xpath 《常见控件定位方法》
如何通过子元素定位父元素? 编写xpath定位 《高级定位-xpath》

元素操作

  • 一个元素明明定位到了,点击无效(也没报错),如何解决?
  • 如果产品总是出现弹窗,导致用例无法执行,应该如何解决?
原因 解决方案 对应知识点
异步加载js导致点击不到 循环点击该按钮,直到生效为止 《显示等待》
app突然出现弹框,导致元素遮挡 通过添加黑名单异常处理解决 《弹框处理》
如何获取app中的toast消息提示? 直接通过xpath定位结合隐式等待获取 《特殊控件 toast 识别》

元素定位不到

原因 解决方案 对应知识点
定位不正确 在console先测试定位是否正确 定位
存在动态ID 定位方式使用css或者xpath的相对定位 高级定位之css、xpath
页面还没有加载完成 添加死等验证,使用显示等待或隐式等待进行优化 隐式等待、显式等待
页面有iframe 切换到iframe后定位 网页 frame 与多窗口处理
页面切换window 切换到对应窗口后定位 网页 frame 与多窗口处理
要定位元素为隐藏元素 使用js操作该元素 执行 javascript 脚本

演示环境

演示环境:

1 个赞