# 获取宽和高
print(s.window_size())
# 按坐标触屏
s.tap(200, 200)
# 和 tap相似, 但是支持小数和整数,用小数表示百分数,例如 0.5 表示 50%
s.click(200, 200)
s.click(0.5, 0.5) # 点击屏幕中心
s.click(0.5, 200) # 点击X坐标中心,和 y(200)
# 双击屏幕
s.double_tap(200, 200)
# 利用 drag api,模拟滑屏
s.swipe(x1, y1, x2, y2, 0.5) # 0.5s
s.swipe(0.5, 0.5, 0.5, 1.0) # 从屏幕中间滑到底部
s.swipe_left()
s.swipe_right()
s.swipe_up()
s.swipe_down()
# 长按1秒
s.tap_hold(x, y, 1.0)
# 隐藏键盘 (非模拟器), 用最新的WDA不成功
s.keyboard_dismiss()
# 选择器
’‘’
获取选择器对象第一个匹配的元素,方法get() 很重要
当元素在10秒内被发现, 返回元素对象,否则抛出WDAElementNotFoundError
s(text='Dashboard') 是选择器, e 是元素对象
‘’‘
e = s(text='Dashboard').get(timeout=10.0)
e.tap()
# 必须通过get()获取属性
s(text='Dashboard').get().value
# 检查元素是否存在
print(s(text="Dashboard").exists)
# 找到所有匹配的元素
s(text='Dashboard').find_elements()
# 操作弹出的警告
print(s.alert.exists)
print(s.alert.text)
s.alert.accept() # 实际上点击警告第一个按钮
s.alert.dismiss() # 实际上点击第二个按钮
s.alert.wait(5) # 如果警告在5秒内出现 ,将返回Ture,否则返回False
s.alert.wait() # 等待警告在2秒内出现
s.alert.buttons()
# example return: ["设置", "好"]
s.alert.click("设置")
# 当参数类型是数组, 点击第一个数组元素, 如果不匹配抛异常ValueError
s.alert.click(["设置", "信任", "安装"])
# 自动控制信息
s = wda.Client().session()
def set_alert_callback(session):
session.alert.accept()
s.set_alert_callback(_alert_callback)
# 当警告弹出, 进行操作,将自动接受
s(type="Button").click()
# 截屏保存
c.screenshot('screen.png')
c.screenshot().save("screen.jpg")
# 打开app
With c.session(‘com.apple.Health’) as s:
print(s.orientation)
等同于:
s = c.session(‘com.apple.mobilesafari’, [‘u’, ‘https://www.google.com/ncr’])
print(s.orientation)
s.close
# 其他app操作
# 在WDA自动操纵警告(之前从未测试),对警告的处理应该是二者之一 ["accept", "dismiss"]
s = c.session(“com.apple.Health”, alert_action=‘accept’)
# 展示当前的app信息
c.app_current()
网友评论