一,定位一个元素 返回单个元素
类似selenium
1.通过id值定位一个元素
driver.find_element_by_id(id_value)
2.通过class属性值定位一个元素
driver.find_element_by_class_name(class_name_value)
3.通过xpath定位元素
driver.find_element_by_xpath(id_value)
二,定位多个元素 返回一个列表
1.driver.find_elements_by_id(id_value)
2.driver.find_elements_by_class_name(class_name_value)
3.driver.find_elements_by_class_name(class_name_value)
三,元素等待(方法同webdriver)
作用: 找元素的时候通过一个时间的设置进行等待元素。等待元素出来之后再进行定位防止报错
1.隐式等待 所有元素等待时间为同一个值
driver.implicitly_wait(5) 等待一定时间
2.显示等待 针对所有定位元素的时间设置不同的时间
wait = WebDriverWait(driver,5)
button = wait.until(find_element)
四, 元素操作API
1.点击 ele.click()
2.输入 ele.send_keys()
如果输入中文无效。请在初始化代码前加两个参数
desire_caps['unicodeKeyboard'] = True
desire_caps['resetKeyboard'] = True
五,清空 ele.clear()
六,获取文本内容 ele.text
七,获取元素的位置 ele.location
返回的是个字典,x为x坐标 y为y坐标
八,获取元素大小 ele.size
返回的是个字典,height为高度,width为宽
九,获取元素的属性值 ele.get_attribute(value) value为元素的属性名
没有该属性值去获取时会报错
十,手势操作
1.滑动 driver.swipe(start_x,start_y,end_x,end_y,duration=None)
从一个坐标滑动到另一个坐标位置,只能是两个点之间
duration 持续时间单位毫秒 持续时间越长,惯性越小。滑动时的误差现象(即惯性):cpu相关
滑动时出现些许误差很正常
2.滑动 driver.scroll(origin_el,des_el,duration=None)
从一个元素滑动到另一个元素,有惯性
3.滑动(拖拽) driver.drag_and_drop(origin_el,des_el)
从一个元素滑动到另一个元素,没有惯性。新元素替代之前元素在屏幕上的位置
4.获取手机分辨率 driver.get_window_size()
返回的是一个字典 height 高 width 宽
5. 截图 driver.get_screenshot_as_file(“路径”)
6.获取手机网络 driver.network_connection
用于提示用户当前的网络环境
返回数字 1:飞行模式 2:只开wifi 4:只开流量 6:网络全开
7. 设置网络 driver.set_network_connection(connection_type)
参数 connection_type 网路类型 建议使用系统提供的类型