adolf186 发表于 2016-12-19 14:04:44

appium python的判断语句问题请教!

本帖最后由 adolf186 于 2016-12-19 16:26 编辑

def findElement(driver,id):    if (driver.find_elements_by_id(id).is_displayed()):      driver.find_elements_by_id(id).click    else:      driver.find_element_by_id('com.tuniu.app.ui:id/iv_style3_card_1').clickfindElement(driver, 'android:id/button1')
报错信息:Traceback (most recent call last):findElement(driver, 'android:id/button1')if (driver.find_elements_by_id(id).is_displayed()): AttributeError: 'list' object has no attribute 'is_displayed'我的疑问是,判断机制貌似没有生效,找了那个不存在的id后抛了异常, 对于python,我知之不多,希望懂的朋友帮我看看如何修改。

若尘_51 发表于 2016-12-19 14:55:10

可以尝试使用try/except语句,能满足你的需求:
try:
    正常的操作
except:
    发生异常,执行这块代码
else:
    如果没有异常执行这块代码

adolf186 发表于 2016-12-19 17:41:22

若尘_51 发表于 2016-12-19 14:55
可以尝试使用try/except语句,能满足你的需求:
try:
    正常的操作


如果我这会出现3-4个按钮挨个出现,出现的就需要点,这个如何处理呀

若尘_51 发表于 2016-12-20 08:37:43

adolf186 发表于 2016-12-19 17:41
如果我这会出现3-4个按钮挨个出现,出现的就需要点,这个如何处理呀

你还是将需求和问题描述清楚点,最好图文结合。不然不知道你要弄成怎样

jingzizx 发表于 2016-12-31 13:41:45

感觉成了语句使用问题了

lamecho 发表于 2017-3-17 13:30:41

首先从你代码的报错原因来看,是你的这句driver.find_elements_by_id(id).is_displayed() 有问题
您通过.find_elements_by_id(id)注意你用的是elements多个s!找出来的是个集合也就是数组了,所以你不能针对一个数组再去做is_displayed()的判断。
页: [1]
查看完整版本: appium python的判断语句问题请教!