有头发且有趣的码农万里挑一~
94
有料叔 | 一位有故事的程序猿
屏幕截图用到的方法:
方法1:save_screenshot()
该方法直接保存当前屏幕截图到当前脚本所在的文件位置
示例:
脚本:
#!_*_ coding:UTF-8 _*_from find_element.capability import driver
driver.find_element_by_xpath('//*[@text="安检测速"]').click()
driver.save_screenshot('anjian.png') #屏幕截图,保存到当前脚本所在的文件夹,命名为anjian.png
方法2:get_screenshot_os_file(self,filename)
该方法将截图保存到指定的文件夹路径
示例:
脚本:
#!_*_ coding:UTF-8 _*_from find_element.capability import driver
driver.find_element_by_xpath('//*[@text="安检测速"]').click()# 屏幕截图,保存指定文件夹时,需要确保对应的文件夹已创建,否则无法保存成功driver.get_screenshot_as_file(u'F:\\wifibanlv\\find_element\\image\\anjian01.png')
注意:如果指定路径出现中文字符时,需要加上u’文件路径’进行转码
Appium页面滑动连续操作
TouchAction包含一系列操作,例如短按、长按、点击、移动、暂停,由不同的操作可以组成一套动作,使用TouchAction需要先导入对应的模块:
from appium.webdriver.common.touch_action import TouchAction
对应操作的方法:
短按:press() 按压一个元素或坐标
TouchAction(driver). press(x,y)
长按:longpress() 比按压多个一个duration(按压时间)时间参数,以毫秒为单位
TouchAction(driver).longpress(x,y,1000)
点击:tap()
移动:move_to()
暂停:wait() 等待时间,单位毫秒
释放:release() 结束屏幕上的一系列动作的命令操作
执行:perform() 讲执行的操作发送到服务器的命令操作
组合示例:
TouchAction(driver). press(x,y) .wait(1000).move_to(x2,y2).release() #点击->等待1000毫秒->移动->释放
真实案例:
一般用于登录的手势密码操作
for i in range(2):#range(2)含义是将1传递给i,以此类推range(3)则表示将1,2传递给i,也就是函数执行2次
TouchAction(driver).press(x1,y1).wait(1000),move_to(x2,y2).move_to(x3,y3).wait(1000).move_to(x4,y4).wait(1000).move_to(x5,y5).release().perform()
#其中x和y值是移动的目标坐标点,最后释放屏幕操作,并将一系列动作发送到服务器执行。