元素定位
-
使用元素id定位
driver.find_element_by_id("cn.flyrise.feep:id/layoutNext") //单个元素
driver.find_elements_by_id("cn.flyrise.feep:id/layoutNext") //多个元素
-
使用元素Name定位
driver.find_element_by_class_name("android.widget.EditText") //单个元素
driver.find_elements_by_class_name("android.widget.EditText") //多个元素
-
使用xpath定位
driver.find_element_by_xpath("//*[@text='始终允许']") //单个元素
driver.find_elements_by_xpath("//*[@text='始终允许']") //多个元素
事件等待
-
隐式等待
driver.implicitly_wait(5) //全局所有元素未找到时等待5秒
-
显示等待
from selenium.webdriver.support.wait import WebDriverWait //导入
-
结束时报错
WebDriverWait(driver, 5).until(lambda d: d.find_element_by_id("id"))
-
结束时跳过
WebDriverWait(driver, 5).until_not(lambda d: d.find_element_by_id("id"))
-
-
强制等待
from time import sleep //导入time下的sleep方法 sleep(6)//强制等待6秒
设备操作
-
长按
driver.tap([(300,500)],10) //模拟手指点击(最多五个手指),可设置按住时间长度
-
滑动
driver.swipe(100,100,100,800) //down的坐标,up坐标
-
快速滑动
driver.flick(100,100,100,800) //down的坐标,up坐标
-
摇一摇
driver.shake()
-
滚动
driver.scroll(elStart,elEnd) //elStart起点元素,elEnd结束元素
-
拖放
driver.drag_and_drop(elStart,elEnd) //elStart起点元素,elEnd结束元素
-
放大
driver.zoom(element) //默认分成50步完成,放大量为200%
-
缩小
driver. pinch (element)//默认分成50步完成,放大量为200%
-
截屏
driver.save_screenshot('/file/fileName.png')
-
退到后台
driver.background_app(3)
-
退出
driver.quit()
键盘操作
-
按键Home
driver.keyevent(3)
-
菜单键
driver.keyevent(82)
-
返回键
driver.keyevent(4)
-
锁屏
driver.lock()
元素操作
-
点击
element.click()
-
输入
element.send_keys(“小冕”)
-
清空
element.clear()
设备信息
-
设备宽高
width=driver.get_window_size()['width'] height=driver.get_window_size()['height']
-
当前界面
driver.current_activity
-
context上下文
driver.context
-
string.xml内容
driver.app_strings()
元素信息
-
元素左上角坐标
x=element.location['x'] y=element.location['y']
-
元素宽高获取
width=element.size['width'] height=element.size['height']