码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • selenium屏幕操作事件TouchActions


    说明:本篇博客基于selenium 4.1.0

    TouchActions说明

    ActionChains都是selenium的一个模块,提供模拟屏幕操作的功能


    TouchActions使用说明

    使用方法与ActionChains一致:

    # 步骤1:实例化一个TouchActions动作容器
    actions = TouchActions(driver)
    
    # 步骤2:往动作容器中依次添加动作
    actions.tap(ele_click)                              # 调用的动作都会添加到动作容器中
    actions.double_tap(ele_drag).scroll(0, 1000)        # 链式添加动作。每个动作返回值为容器对象,因此支持链式连续添加
    
    # 步骤3:执行动作
    actions.perform()
    

    TouchActions

    import time
    from selenium import webdriver
    from selenium.webdriver import TouchActions
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    driver.implicitly_wait(5)
    driver.get('https://www.baidu.com/')
    
    actions = TouchActions(driver)
    ele_input = driver.find_element(By.ID, "kw")
    location = ele_input.location
    '''
    ActionChains格式,使用方法与ActionChains一致:
    1. 实例化一个TouchActions动作容器
    actions = TouchActions(driver)
    
    2. 往动作容器添加动作
    2.1 直接添加
    actions.tap(ele_click)                              # 调用的动作都会添加到动作容器中
    actions.double_tap(ele_drag).scroll(0, 1000)        # 链式添加动作。每个动作返回值为容器对象,因此支持链式连续添加
    
    3. 执行动作
    actions.perform()
    '''
    
    # 鼠标点击
    actions.tap(ele_input)                          # 单击元素
    actions.double_tap(ele_input)                   # 双击元素
    actions.long_press(ele_input)                   # 长按元素
    
    
    # 鼠标滚动
    x, y = 30, 50
    actions.scroll(x, y)                            # 滚动,向下向右(x, y)距离
    actions.scroll_from_element(ele_input, x, y)    # 滚动,以元素为起点向下向右(x, y)距离
    
    # 鼠标移动
    x, y = 0, 1000
    actions.move(x, y)                              # 鼠标移动到坐标(x,y)
    
    # 释放鼠标
    actions.release(x, y)                           # 鼠标移动坐标(x,y),并释放鼠标
    
    # 滑动
    xspeed, yspeed = 30, 50
    actions.flick(xspeed, yspeed)                               # 滑动,向下向右以(xspeed, yspeed)速度滑动
    
    xoffset, yoffset, speed = 30, 50, 20
    actions.flick_element(ele_input, xoffset, yoffset, speed)   # 在元素处滑动,向下向右以speed的速度滑动(xoffset, yoffset)距离
    
    # 拖动
    x, y = 30, 50
    actions.tap_and_hold(x, y)                      # 点住,在坐标(x, y)处
    
    
    # 容器相关
    actions.perform()                               # 按顺序开始执行动作
    
    
    time.sleep(5)
    driver.quit()
    

    更多技术文章

  • 相关阅读:
    分享10大自动化测试框架,你用过几个?
    程序员过了35岁没人要?“这行越老越香”
    StarRocks 易用性全面提升:数据导入可以如此简单
    大家看看立体几何计算问题。
    Google Earth Engine——全球陆地冰层空间数据的介绍(内含常见错误)
    “前端”工匠系列(一):合格的工匠,究竟该搞什么 | 京东云技术团队
    Python:寇松数字(Curzon Number)
    uniapp初步搭建:如何引入uview库(跨移动多端ui库)
    SpringBoot之yaml语法、配置文件、多环境切换
    Python学习:函数中定义参数的四种方式
  • 原文地址:https://blog.csdn.net/Tester_muller/article/details/127070347
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号