【appuim】24、隐式等待

1、应用场景

  • 针对所有定位元素的超时时间设置为同一个值的时候

2、概念

  • 等待元素加载指定的时长,超时时长抛出NoSuchElementException异常

3、步骤

  • 在获取driver对象后,使用driver调用implicitly_wait方法即可

4、方法参数解释

# 参数
#	timeout:超时的时长,单位:秒
implicitly_wait(timeout)

5、作用

  • 在设置了超时时间之后,后续所有的定位元素的方法都会在这个事件内等待元素出现
  • 如果出现了,直接进行后续操作
  • 如果没有出现,报错,NoSuchElementException

6、示例

  • 在5秒钟内,在设置程序中的"返回"按钮,如果知道则点击。如果找不到则观察对应错误信息

7、核心代码

from appium import webdriver
import time

desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '7'
desired_caps['deviceName'] = '192.168.101.55:5555'

# 手机参数
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'

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

# 隐式等待
driver.implicitly_wait(200)

print('---开始准备点击了')
driver.find_element_by_xpath('//*[@content-desc="收起"]').click()
print('---点完了')

time.sleep(5)
driver.quit()
posted @ 2022-05-31 09:54  郭祺迦  阅读(59)  评论(0)    收藏  举报