一、ActionChains包

模拟鼠标的操作要首先引入ActionChains的包

from selenium.webdriver.common.action_chains import ActionChains
而对于ActionChains包,一般的写法是:

这是这个方法一般的书写格式,下面我们来看一如何使用模拟鼠标操作的具体案例

1.鼠标拖动操作

方法:

drag_and_drop(source, target) 

拖动source元素到target元素的位置

drag_and_drop_by_offset(source, xoffset, yoffset)

source:鼠标拖动的原始元素

xoffset:鼠标把元素拖动到另外一个位置的x坐标

yoffset:鼠标把元素拖动到另外一个位置的y坐标

拖动source元素到指定的坐标
————————————————
版权声明:本文为CSDN博主「许西城」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ccggaag/article/details/75717186

二、代码示例

测试网址:https://jqueryui.com/resources/demos/draggable/scroll.html

# coding=UTF-8
#17.拖拽页面元素
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from selenium import webdriver
import unittest
import time
from selenium.webdriver import ActionChains class Case17(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome() def test_dragPageElement(self):
url = "https://jqueryui.com/resources/demos/draggable/scroll.html"
self.driver.get(url)
position1 = self.driver.find_element_by_id("draggable")
position2 = self.driver.find_element_by_id("draggable2")
position3 = self.driver.find_element_by_id("draggable3")
ActionChains(self.driver).drag_and_drop(position1,position2).perform() #把position1拖到position2的位置
time.sleep(2)
ActionChains(self.driver).drag_and_drop_by_offset(position3,10,10).perform() #把position3拖动(10,10)的距离,即向右下方拖动
time.sleep(2) def tearDown(self):
self.driver.quit() if __name__ == '__main__':
unittest.main()

selenium学习-拖拽页面元素的更多相关文章

  1. 章节十四、9-Actions类鼠标悬停、滚动条、拖拽页面上的元素

    一.鼠标悬停 1.在web网站中,有一些页面元素只需要我们将鼠标指针放在上面就会出现被隐藏的下拉框或者其它元素,在自动化的过程中我们使用Actions类对鼠标进行悬停操作. 2.案例演示 packag ...

  2. 从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中

    1,实现功能:从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中 并实现app向后移动一个元素的位置: 2.实现思路: 01.遍历下拉菜单,添加拖拽方法,实现位置移动功能: 02.遍历app列 ...

  3. selenium--拖拽页面元素

    from selenium import webdriver import unittest from selenium.webdriver import ActionChains import ti ...

  4. JavaScript动画-拖拽改变元素大小

    ▓▓▓▓▓▓ 大致介绍 拖拽改变元素大小是在模拟拖拽上增加了一些功能 效果:拖拽改变元素大小 ▓▓▓▓▓▓ 拖拽改变元素大小原理 首先这个方块得知道我们想要改变这个它的大小,所以我给它设定一个范围,当 ...

  5. javascript动画系列第四篇——拖拽改变元素大小

    × 目录 [1]原理简介 [2]范围圈定 [3]大小改变[4]代码优化 前面的话 拖拽可以让元素移动,也可以改变元素大小.本文将详细介绍拖拽改变元素大小的效果实现 原理简介 拖拽让元素移动,是改变定位 ...

  6. jquery插件之拖拽改变元素大小

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的拖拽改变元素大小的效果,您可以根据自己的实际需求来设置被 ...

  7. Selenium with Python 003 - 页面元素定位

    WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...

  8. 通过Ztree生成页面html元素Dom树,以及拖拽改变元素的位置

    zTree 是一款依靠 jQuery 实现的多功能 "树插件",http://www.treejs.cn/v3/main.php#_zTreeInfo,功能强大,不多赘述. 下面我 ...

  9. js-特效部分学习-拖拽效果

    一.客户区大小ClientWidth和ClientHeight <style> #box { width: 200px; height: 200px; background-color: ...

随机推荐

  1. Tomcat启动报错java.lang.ClassNotFoundException: javax.el.ExpressionFactory

    严重: Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error crea ...

  2. Android [SharedPreference轻量级存储]

    SharedPreferencesActivity.java package com.xdw.a122.data; import android.content.SharedPreferences; ...

  3. Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二)

    Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js快速入门(二) 前言 上篇文章对Vue.js有了初步理解,接下来我们把Vue.js基础语法快速的过一遍,先混个脸熟留个印象就 ...

  4. 算法题解:最大或最小的K个数(海量数据Top K问题)

    题目 输入 n 个整数,找出其中最小的 k 个数.例如输入4.5.1.6.2.7.3.8 这8个数字,则最小的4个数字是1.2.3.4. 初窥 这道题最简单的思路莫过于把输入的 n 个整数排序,排序之 ...

  5. 【php中的curl】php中curl的详细解说

    本文我来给大家详细介绍下cURL的简单的使用方法,下文我将会给大家详细介绍cURL的高级应用, cURL可以使用URL的语法模拟浏览器来传输数据, FTP, FTPS, HTTP, HTTPS, GO ...

  6. Docker 学习笔记之 核心概念

    Docker核心概念: Docker Daemon Docker Container Docker Registry Docker Client 通过rest API 和Docker Daemon进程 ...

  7. centos7 scrapy安装

    1.anaconda3安装 wget https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh 安装报错,可能是源的问题 ...

  8. Java后端工程师必备书单(从Java基础到分布式)

    Java开发工程师一般负责后端开发,当然也有专门做Java Web的工程师,但是随着前后端的分离,越来越多的Java工程师需要往大后端方向发展. 今天我们就来介绍一下Java后端开发者的书单. 首先要 ...

  9. Python3升级3.6强力Django+杀手级xadmin打造在线教育平台☝☝☝

    Python3升级3.6强力Django+杀手级xadmin打造在线教育平台☝☝☝ 教程 Xadmin安装方法: settings.py 的配置

  10. 最简单的ArcGIS Engine应用程序(上)

    名词: IWorkspaceFactory 工作空间工厂 ShapeFileWorksapceFactory 矢量文件工作空间工厂 IWorkspce 工作空间 IFeatrueWorkspace 要 ...