Appium appium python 脚本,如何判断元素存在就点击,不存在就点击另一个元素?

小阿飞 · 2016年12月14日 · 最后由 kakaxixi 回复于 2018年04月18日 · 2796 次阅读

如题,走过路过的哥哥姐姐们帮个忙,给个实例参考一下。

共收到 12 条回复 时间 点赞

```python

一个方法,处理异常
def findElement(self, driver,id):
  try:
            WebDriverWait(driver, common.WAIT_TIME,1).until(driver.find_element_by_id(id))
            return True
        except selenium.common.exceptions.TimeoutException:
            return False
        except selenium.common.exceptions.NoSuchElementException:
            return False
 if findElement(mDriver,mId):
       #找到逻辑
 else:
      #点击另一个

#1 楼 @yangha 没太看得懂,可以再给我讲讲吗?

匿名 #3 · 2016年12月15日

#2 楼 @xiaoafeizt 原理是 找不到元素 对象会报错 所以 你写个逻辑 如果生成这个对象的时候 没有报错 就说明找到了 反之 如果报错了 就说明没找到 找到的时候直接点击 未找到的时候 就生成另一个你要点击的元素去点击

#3 楼 @9688e 你是解释一楼写的吗?

Python 没接触过,java 的话,写个 try/catch 补货异常就可以了

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

不需要 try,判断 Element 获取控件后返回是不是 None,是的话点击另一个控件即可

#2 楼 @xiaoafeizt 相当于 2 楼说的,很简单的一个 try catch

用 driver 的一个方法,is_displayed() 判断元素是否存在

#7 楼 @joko 帮忙写个判断语句啊,给个参考

#9 楼 @h470789634 帮忙写个判断语句啊,给个参考

小阿飞 回复

楼主,这个最后有答案了吗?刚刚接触 appium+Python,能够给个实例参考一下,我想先判断一下想要的元素是否存在,如果不存在就循环等待一下,再点击,谢谢

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