python+appium判断元素存在_python+Appium自动化:Appium元素检测

这篇博客介绍了在使用Appium进行自动化测试时,如何应对用户首次启动应用可能出现的更新提示或引导页面。通过设置`noReset`参数来控制是否清除session,并利用try-except结构来检测并处理元素是否存在的问题。示例代码展示了如何寻找并点击‘同意’和‘位置信息’按钮,避免因页面变化导致的脚本错误。
摘要由CSDN通过智能技术生成

appium模拟用户的真实操作,如果用户第一次进入app或许会弹出一些更新提示,或者是引导页面,但是下一次开启app时则没有引导页这些界面,这时,脚本中又肯定不考虑用两套代码来进行维护,此时如何应对这种场景进行处理呢?

比如启动淘宝应用,之前使用这个noReset配置,当默认设置为False,即每次进入都会清除掉session,即有温馨提示弹窗出现,那当设置为True时,第二次进入时,不会有弹窗,那此时再执行原有的脚本就会报错,有人会说用if语句来进行判断,亲测也会出现问题,所以最后还是推荐用try...except来进行检测比较好。

1730956-20191206150641785-76330282.png

1730956-20191206150229769-261778191.png

代码如下:

# -*- coding: utf-8 -*-#

from appium import webdriver

from selenium.common.exceptions import NoSuchElementException

desired_caps = {

"platformName": "Android",

"platformVersion": "5.1",

"deviceName": "U4KF9HSK99999999",

"appPackage": "com.taobao.taobao",

"appActivity": "com.taobao.tao.welcome.Welcome",

"noReset": True

}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

driver.implicitly_wait(10)

def check_agreebtn():

print("check_agreebtn")

try:

agreebtn=driver.find_element_by_id('com.taobao.taobao:id/provision_positive_button')

except NoSuchElementException:

print("no agreebtn")

else:

agreebtn.click()

def check_localtionbtn():

print("check_localtionbtn")

try:

localtionbtn=driver.find_element_by_id('com.taobao.taobao:id/uik_mdButtonDefaultPositive')

except NoSuchElementException:

print("no localtionbtn")

else:

localtionbtn.click()

check_agreebtn()

check_localtionbtn()

导入NoSuchElementException模块,启动app后,先判断是否有“同意”按钮,如有的话进行点击,无则输出no agreebtn,同理,位置信息也是一样~

此方法,后续用的比较多~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值