Appium 元素在可视区域内,但是元素的坐标却是负数

loshu2003 · 2016年03月23日 · 最后由 Henry 回复于 2016年03月24日 · 1934 次阅读

向大家请教一个问题,我们的 app 中打开了一个 H5 页面,页面上有一个收藏按钮。

  1. 这个收藏按钮在可视区域内,但是用 UI Automater Viewer 抓取,这个收藏按钮的坐标为什么是负数?
  2. 用 find_element_by_xpath 能找到这个元素,但是执行 click 的时候无效,现在我只能通过坐标去点击,不知道大家有没有遇到这种情况,大家是怎么解决的?
#能成功找到收藏按钮,并且它的坐标确实也是负数
el = self.driver.find_element_by_xpath('//android.view.View[@content-desc="收藏"]')

H5 页面中这个收藏按钮的 css 有一个属性:text-indent:-1000px

共收到 6 条回复 时间 点赞

同遇到,至于为什么会这样还没深研过,不太清楚;我都还试过,某元素都不在屏幕内,也可以被查找到并点击到。。。

看第二图这个页面是 webview 吧?
那么就先切换到 webview, 然后用 selenium 找。

#2 楼 @jinjun0620 #2 楼 确实是 webview,现在不是找不到,而是找到了它的坐标是负数,它的其它属性都是对的,就坐标不对

—— 来自 TesterHome 官方 安卓客户端

#1 楼 @huanzhijin 我的情况是能点击,但是坐标是错的,所以不起作用

—— 来自 TesterHome 官方 安卓客户端

应该跟你用 uiaomatorviewer 直接定位 webview 有关系,定位的不是真正的属性

CSS text-indent 属性
将段落的第一行缩进 xx 像素

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