问答 jsp 页面定位元素时,实际操作的元素与代码中的不一致

felix · 2019年12月18日 · 2580 次阅读

环境

  • python 3.7.1
  • selenium 3.141
  • 浏览器:IE11(实际是兼容 IE5 模式)

在一个系统(jsp 页面,只支持 IE 浏览器打开)写 UI 自动化,登录后用 id 定位元素时,实际页面操作的元素与我写的定位元素不同。比如我用 id='MenuTree_icon_44' 定位时,运行后页面操作时点击了另一个菜单。各位有知道是什么原因么?
如下图所示:


部分代码如下:

共收到 4 条回复 时间 点赞
3楼 已删除

看你的前端架构吧,老的 jsp 项目用的像 jquery MiniUI,esazyUI 这类的前端组件渲染的页面,UI 元素的 id 什么的都是组件自动随机按序分配的,所以写 UI 脚本的时候最好尽量规避这类定位方式,还是以文本为准吧,推荐拼 xpath 去定位。
PS:这是个很痛苦的过程😟

守望@天空~ 回复

我也试了其他定位,都不行。打印 innerHTML 倒是和我选的匹配,不知道为啥一点击就偏了😟

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册