首页 > 其他分享 >动作链

动作链

时间:2024-02-22 15:11:05浏览次数:24  
标签:webdriver 动作 ActionChains 标签 driver actions perform

三种实现拖拽功能的方式

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.support.wait import WebDriverWait  # 等待页面加载某些元素
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.service import Service

ser = Service()
ser.path = r'.\chromedriver.exe'

driver = webdriver.Chrome(service=ser)
driver.get("http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable")
driver.implicitly_wait(10)
driver.maximize_window()

try:
    driver.switch_to.frame('iframeResult')  ##切换到iframeResult
    sourse = driver.find_element(By.ID, 'draggable')
    target = driver.find_element(By.ID, 'droppable')

    '''拿到actions对象后,对象有很多方法
        1 把标签1 拖动到标签2上
            actions.drag_and_drop(标签1,标签2) 
        2 一点点滑动某个标签
            actions.click_and_hold(标签1).perform()
            actions.move_by_offset(x,y) # 把标签1 滑动x轴和y轴的距离
        3 滑动某个标签,一些距离
            actions.drag_and_drop_by_offset(标签1,x,y)
    '''

    # 方式一:基于同一个动作链串行执行
    actions = ActionChains(driver)  # 拿到动作链对象
    actions.drag_and_drop(sourse, target)  # 把动作放到动作链中,准备串行执行
    actions.perform()

    # 方式二:不同的动作链,每次移动的位移都不同
    # ActionChains(driver).click_and_hold(sourse).perform()  # 鼠标点中源标签 不松开
    # distance=target.location['x']-sourse.location['x']
    # track = 0
    # while track < distance:
    #     ActionChains(driver).move_by_offset(xoffset=10, yoffset=0).perform()
    #     track += 10
    # ActionChains(driver).release().perform()

    # 方式三:
    # actions = ActionChains(driver)
    # actions.drag_and_drop_by_offset(sourse, 200, 0).perform()
    #
    # time.sleep(5)

finally:
    driver.close()

标签:webdriver,动作,ActionChains,标签,driver,actions,perform
From: https://www.cnblogs.com/wellplayed/p/18027399

相关文章

  • 问题:深蹲动作模式,练习中双脚支撑的宽度是怎么样的?
    问题:深蹲动作模式,练习中双脚支撑的宽度是怎么样的?参考答案如图所示......
  • 【iOS ARKit】2D肢体动作捕捉
       人体肢体动作捕捉在动漫影视制作、游戏CG动画、实时模型驱动中有着广泛的应用,利用ARKit,无须额外的硬件设备即可实现2D和3D人体一系列关节和骨骼的动态捕捉,由于移动AR的便携性及低成本,必将促进相关产业的发展。ARBodyTrackingConfiguration   ARKit配置类AR......
  • 2024,管理企业一定要做的动作。
    2024年推行OKR对企业的好处一、背景介绍随着市场竞争的日益激烈,企业需要更加高效的目标管理方法来推动团队发展和提高业绩。OKR(ObjectivesandKeyResults)作为一种先进的目标管理工具,在许多成功企业中得到了广泛应用。本文将探讨在2024年推行OKR对企业的好处。二、提高目标一......
  • 经典工作研究与动作研究:一次全面的比较
    在当今工业工程领域,工作研究已成为提高生产效率和降低成本的关键手段。工作研究主要分为经典的工作研究和动作研究,两者虽然有许多相似之处,但也存在明显的差异。本文将对这两种研究方法进行深入的比较,以帮助读者更好地理解其特点和适用范围。首先,我们来了解一下经典的工作研究。经典......
  • 前端js方法的书写顺序,比如有内部方法,外部方法,用户触发的动作方法,监听事件方法,等等,
    在前端JS开发中,通常的方法书写顺序如下:变量声明和初始化内部方法定义外部方法定义初始化函数事件监听方法定义用户触发的动作方法定义这个顺序的主要目的是提高代码的可读性和可维护性。按照这个顺序,可以使代码更加清晰、易于理解和修改。变量声明和初始化应该在前面,因为......
  • 剩余电流动作保护器在接地系统中的具体应用
    1RCD的基本工作原理RCD一般由剩余电流检测模块和断路器组成,断路器起接通、承载和分断电路的作用,剩余电流检测模块一般由剩余电流互感器、信号放大器、信号判别元件、脱扣执行元件组成。负载线路接入RCD后即穿过了剩余电流互感器,形成一次绕组;剩余电流互感器自带的线圈形成二次绕组......
  • 基础理论篇-视觉动作捕捉与人体姿态估计(HPE)
    人体姿态估计(HumanPoseEstimation,HPE)是计算机视觉热门的研究课题之一,它通过对计算机输入包含人体的图像,从而获得人体骨架关键点位置,这让视觉动捕能够做到仅靠摄像头来进行人体动作姿态的捕捉。一、2D人体姿态估计与3D人体姿态估计根据输出结果的维度划分,人体姿态估计可以细分为......
  • 数据处理动作——增删改查输入输出-map-flattern-agg-concat-merge
    numpypytorchmindsporeimportnumpyasnpdefzscore(x,axis=None):xmean=x.mean(axis=axis,keepdims=True) xstd=np.std(x,axis=axis,keepdims=True) zscore=(x-xmean)/xstd returnzscore###说明指定如何加,不同软件和框架有默认或者隐式处理 维度-......
  • 浅谈剩余电流动作继电器的在低压配电系统中的应用
    安科瑞张田田【摘要】剩余电流动作继电器,作为主保护或者后备保护应用在低压配电系统中,主要对于消除对人体的伤害或火灾的隐患起着重要的作用,正确使用剩余电流动作继电器和对其原理的了解,对保障电气系统安全可靠运行具有重大意义。对于TT系统,采用剩余电流动作继电器对接地故障进行保......
  • 调整ZABBIX“动作”
    背景ZABBIX平台发送的报警信息内容与ZABBIXWEB“最新数据”不符(时间不是当前时间,报警详情与实际结果又差异)。调整“配置”-->“动作”-->“操作”调整前备注:{event.date}:第一次触发报警的日期{event.time}:第一次触发报警的时间{event.value}:第一次触发报警的内......