元素定位
-
使用元素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']









网友评论