前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【问题解决】Appium+RobotFactory页面元素识别成功但点击不到的解决

【问题解决】Appium+RobotFactory页面元素识别成功但点击不到的解决

原创
作者头像
世平
修改2021-09-29 17:17:25
8850
修改2021-09-29 17:17:25
举报
文章被收录于专栏:世平

问题:

页面上有两个下拉菜单选项,选择月份的,一个起始月份,一个终止月份,要求起始月份和终止月份一样(不知道为什么一样的话为什么还设计成点击两次而不是直接选择一个月份就可以了,页面就是这么设计的),选择的时候根据月份,第二个下拉菜单能找到元素,但是点击不到。

尝试过程:

(1)click element //*[contains(@text,'9月')]

(2)click element //*[contains(@text,'9月')][1]

(3)click element xpath=/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup[9]/android.widget.TextView

(1)和(2)方案能找到元素,不报错,但是点击不到。

(3)成功了一次之后,不知为何再次执行的时候失败了。

原因分析:

选择起始月份的时候页面已经有一个9月,所以截止月份同样用9月定位,能找到元素,但是点击的是错误的位置。

最终解决方案:

通过appium观测到菜单项所在的bounds值[307,1651][539,1708],然后根据页面像素值计算其相对位置,直接用Click A Point点击像素点,解决。

代码语言:javascript
复制
    ${screenwidth}    Get Window Width
    ${screenheight}    Get Window Height
    ${x}    Evaluate    ${screenwidth}*${0.4}
    ${y}    Evaluate    ${screenheight}*${0.72}
    Click A Point    ${x}    ${y}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题:
  • 尝试过程:
  • 原因分析:
  • 最终解决方案:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档