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

 更新时间:2020年12月24日 10:53:04   作者:高文祥888888  
这篇文章主要介绍了python 基于selenium实现鼠标拖拽功能的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

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实现C#代码生成器应用服务于Unity示例解析

    Python实现C#代码生成器应用服务于Unity示例解析

    为了满足项目需要,需要实现一个c#代码生成器,为此设计了一个语法模板适用于Unity的代码生成器。本次使用了Python的Template模板,使用python开发
    2021-10-10
  • python中使用OpenCV进行人脸检测的例子

    python中使用OpenCV进行人脸检测的例子

    这篇文章主要介绍了python中使用OpenCV进行人脸检测的例子,需要的朋友可以参考下
    2014-04-04
  • python 获取谷歌浏览器保存的密码

    python 获取谷歌浏览器保存的密码

    这篇文章主要介绍了python 获取谷歌浏览器保存的密码的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • python3+PyQt5使用数据库窗口视图

    python3+PyQt5使用数据库窗口视图

    这篇文章主要为大家详细介绍了python3+PyQt5使用数据库窗口视图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 使用Python将语音转换为文本的方法

    使用Python将语音转换为文本的方法

    这篇文章主要介绍了如何使用Python将语音转换为文本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 解决Python 进程池Pool中一些坑

    解决Python 进程池Pool中一些坑

    这篇文章主要介绍了解决Python 进程池Pool中一些坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Django 视图层(view)的使用

    Django 视图层(view)的使用

    这篇文章主要介绍了Django 视图层(view)的使用,详细的介绍了什么是视图层以及案例,非常具有实用价值,需要的朋友可以参考下
    2018-11-11
  • Python 字典的使用详解及实例代码

    Python 字典的使用详解及实例代码

    今天小编帮大家简单介绍下Python的一种数据结构: 字典,字典是 另一种可变容器模型,且可存储任意类型对象,它用于存放具有映射关系的数据,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-11-11
  • TensorFlow 模型载入方法汇总(小结)

    TensorFlow 模型载入方法汇总(小结)

    这篇文章主要介绍了TensorFlow 模型载入方法汇总(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Python将QQ聊天记录生成词云的示例代码

    Python将QQ聊天记录生成词云的示例代码

    这篇文章主要介绍了Python将QQ聊天记录生成词云的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论