动作链对象Day03-2

本文详细介绍了如何使用Selenium和ActionChains进行自动化测试中滑块移动的操作。通过Python代码示例,展示了如何在指定网页上找到滑块元素,并通过ActionChains对象控制其移动,实现滑块从起点到终点的精确移动。
#!/usr/bin/env python
#coding: utf8
#python2
#Actions chains
#动作链对象,需要把driver驱动传给他
#动作链对象可以操作一系列设定好的行为
#滑块移动
from selenium import webdriver
from selenium.webdriver import ActionChains  # 破解滑动验证码的时候用的 可以拖动图片
from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys  # 键盘按键操作
from selenium.webdriver.support import expected_conditions as EC  # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait  # 等待页面加载某些元素
import time

driver = webdriver.Chrome(r'C:\Users\Administrator\Desktop\chromedriver.exe')
try:
    driver.implicitly_wait(10)
    driver.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
    time.sleep(5)

    #遗弃方法
    #driver.switch_to_frame()
    #新方法
    driver.switch_to.frame('iframeResult')
    time.sleep(1)

    #起始方法id:draggble
    source = driver.find_element_by_id('draggable')

    #目标方块id:droppable
    target = driver.find_element_by_id('droppable')

    print(source.size)#大小
    print(source.tag_name)#标签名
    print(source.text)#文本
    print(source.location)#坐标X与Y轴

    #找到滑动距离
    distance = target.location['x'] - source.location['x']

    #按住起始滑块
    ActionChains(driver).click_and_hold(source).perform()

    #方法二:一点一点移动
    s=0
    while s < distance:
        #获取动作链对象
        #每一次位移s距离
        ActionChains(driver).move_by_offset(xoffset=2,yoffset=0).perform()
        s+=2

        time.sleep(0.1)

    #释放起始滑块
    ActionChains(driver).release().perform()

    time.sleep(10)
finally:
    driver.close()

 

转载于:https://www.cnblogs.com/zxdhahaha/p/11128254.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值