当前位置: 首页 > wzjs >正文

做技术分享网站 盈利网站联系我们模板

做技术分享网站 盈利,网站联系我们模板,电子商务网站建设与管理答案,wordpress一键换链接文章目录 一、单点触控查看指针的指针位置实现手势密码: 二、多点触控 一、单点触控 查看指针的指针位置 方便查看手势密码-九宫格每个点的坐标 实现手势密码: 执行手势操作: 按压起点 -> 移动到下一点 -> 依次移动 -> 释放&am…

文章目录

        • 一、单点触控
          • 查看指针的指针位置
          • 实现手势密码:
        • 二、多点触控

一、单点触控
查看指针的指针位置

方便查看手势密码-九宫格每个点的坐标

实现手势密码:
  • 执行手势操作: 按压起点 -> 移动到下一点 -> 依次移动 -> 释放,最后调用perform()
  • 实现的效果如下图:
  • 代码实现:
# -*- coding=utf-8 -*-
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy
# 旧方法(TouchAction,已弃用)
# 新方法(W3C Actions API)
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput# 设置操作终端的配置参数
desired_caps = dict(platformName='Android', # 指定操作系统platformVersion='12',# 指定操作系统版本automationName='Uiautomator2',# 默认框架deviceName='127.0.0.1:62001',# 指定设备名称appPackage='com.mymoney',# 被操作的应用程序包名appActivity='com.mymoney.biz.splash.SplashScreenActivity',# 启动页面noReset='true',# true--不重置  false--重置app='F:\Pycharm\AppAuto\Mymoney_v13.2.18.apk'  # apk文件所在路径
)
# 发送命令给 appium server
driver = webdriver.Remote('http://127.0.0.1:4723', options=UiAutomator2Options().load_capabilities(desired_caps))
# 打开随手记app->进入我的页面->点击设置一栏->点击密码保护一栏->开启密码保护->点击手势密码->进入手势密码设置页面
# 1. 初始化 ActionChains 和触摸输入源
actions = ActionChains(driver)
actions.w3c_actions = ActionBuilder(driver, mouse=PointerInput(interaction.POINTER_TOUCH, "touch"))# 2. 定义手势轨迹的坐标点(假设已确定坐标,或从 bounds 解析计算 )
# 示例坐标,需根据实际应用调整
point_1 = (345, 384)
point_2 = (540, 384)
point_3 = (740, 384)
point_5 = (540, 580)
point_7 = (345, 780)
point_8 = (540, 780)
point_9 = (740, 780)# 3. 执行手势操作:按压起点 -> 移动到下一点 -> 依次移动 -> 释放
actions.w3c_actions.pointer_action.move_to_location(*point_1)  # 移动到起点(不按压时,可先移动调整位置)
actions.w3c_actions.pointer_action.pointer_down()  # 按压起点
actions.w3c_actions.pointer_action.pause(0.5)  # 暂停 0.5 秒,模拟真实触摸停顿actions.w3c_actions.pointer_action.move_to_location(*point_2)  # 移动到点 2
actions.w3c_actions.pointer_action.pause(0.5)actions.w3c_actions.pointer_action.move_to_location(*point_3)  # 移动到点 3
actions.w3c_actions.pointer_action.pause(0.5)actions.w3c_actions.pointer_action.move_to_location(*point_5)  # 移动到点 5
actions.w3c_actions.pointer_action.pause(0.5)actions.w3c_actions.pointer_action.move_to_location(*point_7)  # 移动到点 7
actions.w3c_actions.pointer_action.pause(0.5)actions.w3c_actions.pointer_action.move_to_location(*point_8)  # 移动到点 8
actions.w3c_actions.pointer_action.pause(0.5)actions.w3c_actions.pointer_action.move_to_location(*point_9)  # 移动到点 9
actions.w3c_actions.pointer_action.pause(0.5)actions.w3c_actions.pointer_action.release()  # 释放触摸# 4. 执行动作链
actions.perform()
二、多点触控

以放大缩小图片为例:

# -*- coding=utf-8 -*-
from time import sleepfrom appium import webdriver
from appium.options.android import UiAutomator2Options
# 旧方法(TouchAction,已弃用)
# 新方法(W3C Actions API)
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from appium.webdriver.common.appiumby import AppiumBy# 设置操作终端的配置参数
desired_caps = dict(platformName='Android', # 指定操作系统platformVersion='12',# 指定操作系统版本automationName='Uiautomator2',# 默认框架deviceName='127.0.0.1:62001',# 指定设备名称appPackage='com.android.browser',# 被操作的应用程序包名noReset='true',# true--不重置  false--重置
)
# 发送命令给 appium server
driver = webdriver.Remote('http://127.0.0.1:4723', options=UiAutomator2Options().load_capabilities(desired_caps))
# 打开系统自带浏览器->进入百度搜索页面->任意搜索一张图片->进入图片页面
# 定位到需要缩放的元素(如图片)
element = driver.find_element(AppiumBy.ID,"com.android.browser:id/main_content")
element_location = element.location  # 获取元素位置
element_size = element.size          # 获取元素尺寸# 计算缩放中心点
center_x = element_location['x'] + element_size['width'] / 2
center_y = element_location['y'] + element_size['height'] / 2# 定义双指初始位置和目标位置(根据缩放方向调整)
# 示例:双指从中心向两侧张开(放大)
start_x1 = center_x - 50  # 左手指起始位置
start_y1 = center_y
end_x1 = center_x - 150   # 左手指终点位置
end_y1 = center_ystart_x2 = center_x + 50  # 右手指起始位置
start_y2 = center_y
end_x2 = center_x + 150   # 右手指终点位置
end_y2 = center_y# 创建 ActionBuilder 并添加两个触摸输入源(手指)
actions = ActionBuilder(driver)#---------------------放大图片---------------------------
# 第一根手指(左手)的操作
finger1 = actions.add_pointer_input(interaction.POINTER_TOUCH, "finger1")
finger1.create_pointer_move(duration=0, x=start_x1, y=start_y1)  # 移动到起始位置
finger1.create_pointer_down()  # 按下
finger1.create_pointer_move(duration=500, x=end_x1, y=end_y1)  # 移动到终点(模拟张开)
finger1.create_pointer_up(button=0)    # 抬起# 第二根手指(右手)的操作(与第一根手指同时进行)
finger2 = actions.add_pointer_input(interaction.POINTER_TOUCH, "finger2")
finger2.create_pointer_move(duration=0, x=start_x2, y=start_y2)  # 移动到起始位置
finger2.create_pointer_down()  # 按下(与第一根手指同步)
finger2.create_pointer_move(duration=500, x=end_x2, y=end_y2)  # 移动到终点(模拟张开)
finger2.create_pointer_up(button=0)    # 抬起# 执行多点触控操作
actions.perform()sleep(3)#---------------------缩小图片---------------------------
# 第一根手指(左手)的操作
finger3 = actions.add_pointer_input(interaction.POINTER_TOUCH, "finger3")
finger3.create_pointer_move(duration=0, x=end_x1, y=end_y1)  # 移动到起始位置
finger3.create_pointer_down()  # 按下
finger3.create_pointer_move(duration=500, x=start_x1, y=start_y1)  # 移动到终点(模拟张开)
finger3.create_pointer_up(button=0)    # 抬起# 第二根手指(右手)的操作(与第一根手指同时进行)
finger4 = actions.add_pointer_input(interaction.POINTER_TOUCH, "finger4")
finger4.create_pointer_move(duration=0, x=end_x2, y=end_y2)  # 移动到起始位置
finger4.create_pointer_down()  # 按下(与第一根手指同步)
finger4.create_pointer_move(duration=500, x=start_x2, y=start_y2)  # 移动到终点(模拟张开)
finger4.create_pointer_up(button=0)    # 抬起# 执行多点触控操作
actions.perform()

文章转载自:

http://yJ0yzGul.Ltgks.cn
http://jNwnTq93.Ltgks.cn
http://1z8IBe1n.Ltgks.cn
http://eiggNGiH.Ltgks.cn
http://nJXurHDE.Ltgks.cn
http://rDIq7MJv.Ltgks.cn
http://FdOA87uW.Ltgks.cn
http://Merg9pMa.Ltgks.cn
http://Fawj3tfu.Ltgks.cn
http://w71CvhCa.Ltgks.cn
http://4Q9M3eHc.Ltgks.cn
http://d1ELHgIh.Ltgks.cn
http://hpkwE5sR.Ltgks.cn
http://ZG2m0CYY.Ltgks.cn
http://rzqyGlzi.Ltgks.cn
http://ZsqlPnie.Ltgks.cn
http://oNGeHIdy.Ltgks.cn
http://NOHdVIkD.Ltgks.cn
http://riEPOucR.Ltgks.cn
http://R3Z2Elbf.Ltgks.cn
http://2fWJlphd.Ltgks.cn
http://Y7mDwj2F.Ltgks.cn
http://APCoIo8l.Ltgks.cn
http://Iahn7yRT.Ltgks.cn
http://JkdjmPot.Ltgks.cn
http://1pDH9CrM.Ltgks.cn
http://A0EveIU3.Ltgks.cn
http://h4LXQyPH.Ltgks.cn
http://bpzmk7ot.Ltgks.cn
http://3DUruLuM.Ltgks.cn
http://www.dtcms.com/wzjs/721901.html

相关文章:

  • 什么都不会怎么做网站如果网站不备案
  • 网站开发语言在那看出来wordpress instagram
  • 图跃网站建设北京工厂和商务楼宇稳步复工
  • 湖北网站建设推荐深圳网站优化项目
  • 龙华三网合一网站建设网站ui设计公司
  • 学到什么程度可以做网站企业网站推广最有效的方法
  • 数码产品销售网站建设策划书网站用Access做数据库
  • 龙游网站建设硬件开发是干嘛的
  • 网络营销的主要形式有建设网站网络推广引流软件
  • 网站登录注册页面模板黄冈网站建设效果
  • 免费的毕业设计网站建设网站环境配置
  • 承德网站建设怎么做成都网站建设四川冠辰科技
  • 专门做2k名单的网站网页搭建公司
  • 学校网站深圳宝安区必去景点
  • 做网站发布网网站备案通管局
  • 网站后台登陆显示验证码错误网站建设系统规划方案
  • 做防水施工 上什么网站找源代码
  • 企业网站怎么备案企业网上管理系统
  • 深圳的网站建设公司价格企业网站管理系统怎么修改密码
  • 展示型网站建设流程方案婚庆公司包含哪些项目
  • 长沙网站快速排名提升wordpress rpc 评论
  • 东台做网站wordpress提示窗
  • app 排名网站浦东新区消息今天
  • 沈阳整站优化网站登陆系统怎么做
  • 网站效果如何制作百度网站地图
  • 网站后台管理程序下载网站搭建项目描述
  • 重庆模板建站软件是计算机网页制作工具
  • 建设网站 托管 费用网站接入变更
  • 企业产品网站源码wordpress最新文章id
  • 设计风格网站泰安网站建设报价