背景:这是我使用airtest IDE时出现的问题报错,因为touch图片时总会出现判断错误,所以我决定不使用点击图片这一方法,换成坐标系直接替换进去,但是替换途中出现了这个错误,我查了一下,然后写一篇解决方案
1、首先来看一下这个错误是什么
TypeError: touch() 接受 1 到 2 个位置参数,但给出了 3 个
根本原因:就是你填的参数和函数要求的格式不匹配(各种各样的不匹配),要么参数个数不对,要么参数格式不对
2、来看看这个函数
我这里是touch函数,你的任何函数报了这个错也都需要看你调用这个函数的描述是什么,usage是什么,看看他的参数列表以及具体使用说明
现在看一下我用到的touch()函数
他的参数列表是这样的,一共4个
【错误示范】:
我当时是这样写的touch((100,100),1,0.01)
【正确示范】:
严格按照他的参数描述来,默认的参数你可以不填,但是不能像我这样填错
【例1】touch((100,100)) # 这样就默认你只点击1次,每次按住0.01s
【例2】touch((100,100),times=1,duration=0.01) # 这样和例1一模一样
【例3】touch((100,100),times=1) # 也可以再省略一个默认参数
【例4】touch((100,100),times=2,duration=0.5) # 或者你干脆全部自定义一下,也是可以的
【总结】
python调用函数时,无论是否是默认参数都要看清楚用法说明,默认参数不额外配置的话最好不要写了