python 基于selenium实现鼠标拖拽功能


Posted in Python onDecember 24, 2020

1、准备html文件

首先我们需要准备一个鼠标滑动的html文件,用来演示鼠标滑动的效果,注意需要将我们的html文件放在自己的服务器上,

这样我们才能够通过selenium来进行验证。html文件如下:

<html>
<head>
  <meta charset="utf-8" />
  <style>
    body {
  margin: 0;
  padding: 0;
}

input{
  appearance:none;
  -moz-appearance:none;
  -webkit-appearance:none;
  background: none;
  border:none;
}

.wrap{
  margin: 200px 0 0 200px;
}

.box {
  position: relative;
  width: 200px;
  height: 30px;
  border-radius: 20px;
  background: #686B69;
  line-height: 30px;
  overflow: hidden;
  margin-bottom: 40px;
  color: #fff;
  font-size: 12px;
}

.btn {
  position: absolute;
  top: 0;
  left: 0;
  height: 30px;
  width: 30px;
  background: #0c7;
  border-radius: 20px;
  text-align: center;
}

.tips {
  text-align: center;
}

#submit{
  line-height: 28px;
  border-radius: 3px;
  background: #0c7;
  width: 200px;
  text-align: center;
  color: #fff;
}
  </style>
</head>
<body>
<div class="wrap">
<div class="box">


<div class="btn" id="dragEle"></div>


<div class="tips">>>拖动滑块验证<<</div>

</div>
 <input type="button" value="提交验证" id="submit" />
</div>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
  function DragValidate (dargEle,msgEle){
    var dragging = false;//滑块拖动标识
    var iX;
    dargEle.mousedown(function(e) {
      msgEle.text("");
      dragging = true;
      iX = e.clientX; //获取初始坐标
    });
    $(document).mousemove(function(e) {
      if (dragging) {
        var e = e || window.event;
        var oX = e.clientX - iX;
        if(oX < 30){
          return false;
        };
        if(oX >= 210){//容器宽度+10
          oX = 200;
          return false;
        };
        dargEle.width(oX + "px");
        //console.log(oX);
        return false;
      };
    });
    $(document).mouseup(function(e) {
      var width = dargEle.width();
      if(width < 200){
        //console.log(width);
        dargEle.width("30px");
        msgEle.text(">>拖动滑块验证<<");
      }else{
        dargEle.attr("validate","true").text("验证成功!").unbind("mousedown");
      };
      dragging = false;
    });
  };

  DragValidate($("#dragEle"),$(".tips"));
  $("#submit").click(function(){
    if(!$("#dragEle").attr("validate")){
      alert("请先拖动滑块验证!");
    }else{
      alert("验证成功!");
    }
  });
</script>
</body>
</html>

2、使用selenium进行鼠标拖拽操作,具体代码如下:

from selenium import webdriver
import unittest
from selenium.webdriver import ActionChains
import time
 
 
url = 'http://192.168.62.9:1234/easytest/tt'
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.get(url)
driver.maximize_window()
 # 获取第一,二,三能拖拽的元素
drag1 = driver.find_element_by_id('dragEle')
 
# 创建一个新的ActionChains,将webdriver实例对driver作为参数值传入,然后通过WenDriver实例执行用户动作
action_chains = ActionChains(driver)
# 将页面上的第一个能被拖拽的元素拖拽到第二个元素位置
# 将页面上的第三个能拖拽的元素,向右下拖动10个像素,共拖动5次
action_chains.drag_and_drop_by_offset(drag1, 208, 0).perform()
time.sleep(5)
driver.quit()

以上就是python 基于selenium实现鼠标拖拽功能的详细内容,更多关于python 鼠标拖拽的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
解析Python中的二进制位运算符
May 13 Python
python实现数据预处理之填充缺失值的示例
Dec 22 Python
python实现堆和索引堆的代码示例
Mar 19 Python
python实现搜索文本文件内容脚本
Jun 22 Python
python 输出所有大小写字母的方法
Jan 02 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
Django框架创建项目的方法入门教程
Nov 04 Python
构建高效的python requests长连接池详解
May 02 Python
python中前缀运算符 *和 **的用法示例详解
May 28 Python
python 解决Windows平台上路径有空格的问题
Nov 10 Python
超详细Python解释器新手安装教程
May 10 Python
python实现简单猜单词游戏
Dec 24 #Python
Python 虚拟环境工作原理解析
Dec 24 #Python
python基于openpyxl生成excel文件
Dec 23 #Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 #Python
用python计算文件的MD5值
Dec 23 #Python
python中lower函数实现方法及用法讲解
Dec 23 #Python
Python类型转换的魔术方法详解
Dec 23 #Python
You might like
php判断ip黑名单程序代码实例
2014/02/24 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
一些常用的JS功能函数代码
2009/06/23 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
Python中的True,False条件判断实例分析
2015/01/12 Python
python使用urlparse分析网址中域名的方法
2015/04/15 Python
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
python类和继承用法实例
2015/07/07 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
Python模块的加载讲解
2019/01/15 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
python pillow模块使用方法详解
2019/08/30 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
会议活动邀请函
2014/01/27 职场文书
街道社区活动报告
2015/02/05 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
2019思想汇报范文
2019/05/21 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书