使用swipe方法模拟屏幕滑动与手势密码绘制
|
def gesture_password(self, element: WebElement, *pwd): # pwd是个元组,pwd[0]表示第一个密码 """手势密码: 直接输入需要链接的点对应的数字,最多9位 pwd: 传你想连接的点构成的密码,如:1, 2, 3, 6, 9 """ if len(pwd) > 9: raise ValueError("需要设置的密码不能超过9位!") keys_dict = self.get_password_location(element) # 9个点的坐标组成的字典 start_point = "TouchAction(self.driver).press(x={0}, y={1}).wait(200)". # keys_dict[pwd[0]] 得到第一位密码数字对应的坐标的字典 format(keys_dict[pwd[0]]["x"], keys_dict[pwd[0]]["y"]) # 起始点的坐标 for index in range(len(pwd)-1): # 0,1,2,3 follow_point = ".move_to(x={0}, y={1}).wait(200)". format(keys_dict[pwd[index+1]]["x"] - keys_dict[pwd[index]]["x"], keys_dict[pwd[index+1]]["y"] - keys_dict[pwd[index]]["y"]) # 后续的点坐标 start_point = start_point + follow_point # 把起始点的表达式和后续链接的点表达式链接在一起组成一个模拟连线的完整过程 full_point = start_point + ".release().perform()" # 完整的过程通过.release().perform()使其生效 return eval(full_point) # 执行一串表达式 比较难理解的地方,我已经详细注释了,当然,你可以复制我的代码先验证能否绘制成功再分析代码的实现原理 所有代码 修改后的绘制手势密码代码&滑屏代码 (编辑:网站开发网_安阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

