该文为原创文章,转载请注明原文出处
本文章博客地址:CefSharp 实现拖拉滑动验证Demo_靓仔建的博客-CSDN博客

author:靓仔建

联系方式:qq(1337489969) 微信(gaolian1025)

给大伙看看效果。

滑动验证

实现效果思想逻辑:

1,先用js代码获取要拖拉的HTML元素的位置x和y

2,在C#代码中设置鼠标左键点击按住事件SendMouseClickEvent,声明要一点一点要拖拉距离List,然后遍历这个List的一个距离给要拖拉事件SendMouseMoveEvent

关键C#代码:

        private void button8_Click(object sender, EventArgs e){ChromiumWebBrowser cw = chromiumWebBrowser1;Task.Run(() =>{listrequest.Clear();cw.Load("file:///E:/BaiduYunDownload/%E6%BB%91%E5%8A%A8%E9%AA%8C%E8%AF%81%E7%A0%81%E7%A0%94%E7%A9%B6/%E6%BB%91%E5%8A%A8html.html");csbrowser.WaitBusy(cw, 30, 1000);var result = cw.GetMainFrame().EvaluateScriptAsync(Properties.Resources.CSS_JS);var btss = csbrowser.EvaluateScript(cw.GetBrowser().MainFrame, Properties.Resources.CSS_JS);csbrowser.WaitBusy(cw, 30, 1000);List<string> lisTT = btss.Split(',').ToList();int x = int.TryParse(lisTT[0], out int result_X) ? result_X : 0;int y = int.TryParse(lisTT[1], out int result_Y) ? result_Y : 0;var host = cw.GetBrowser().GetHost();cw.GetBrowserHost().SendMouseClickEvent(x, y, MouseButtonType.Left, false, 1, CefEventFlags.LeftMouseButton);List<int> removeInt = new List<int>();removeInt.Add(10);removeInt.Add(50);removeInt.Add(10);removeInt.Add(30);removeInt.Add(40);removeInt.Add(30);removeInt.Add(30);removeInt.Add(40);removeInt.Add(60);foreach (int item in removeInt){x = (x + item);Thread.Sleep(300);host.SendMouseMoveEvent(x, y, false, CefEventFlags.LeftMouseButton);}host.SendMouseClickEvent(x, y, MouseButtonType.Left, true, 1, CefEventFlags.LeftMouseButton);//抬起鼠标左键});}

关键js代码:

var obj = document.getElementsByClassName("btn");
var es = document.getElementsByTagName("div");for (var i = 0; i < es.length; i++) {//arrow-right-icon arrow-buttonif (es[i].className == "btn") {obj = es[i];break;}}function GetObjPos(ATarget) {var target = ATarget;var pos = new CPos(target.offsetLeft, target.offsetTop);target = target.offsetParent;while (target) {pos.x += target.offsetLeft;pos.y += target.offsetTop;target = target.offsetParent;}return pos;
}
function CPos(x, y) {this.x = x;this.y = y;
}[ GetObjPos(obj)['x'], GetObjPos(obj)['y']].toString();

该文为原创文章,转载请注明原文出处
本文章博客地址:CefSharp 实现拖拉滑动验证Demo_靓仔建的博客-CSDN博客

CefSharp 实现拖拉滑动验证Demo相关推荐

  1. vue项目中引入阿里云滑动验证

    注册阿里云账号 参照滑动验证demo 滑动验证在vue中使用步骤 1.在vue-cli安装的项目中,index.html页面引入js <html><head><meta ...

  2. Android自定义滑动验证条

    *注:不知道为什么,h5的标签在这里没用了,所以我也只能用Markdown的语法来写了 项目地址: https://github.com/994866755/handsomeYe.seekbar.gi ...

  3. 滑动验证+短信验证码接入=复制粘贴(Java)

    PC版滑动验证的实现 简介 滑动验证是基于人机识别技术开发的智能验证码产品.用户通过简单的右滑交互,无需思考即可通过验证. 资源引入说明 使用PC版滑动验证码,需要引入以下js资源,为保证服务功能最优 ...

  4. selenium模拟geetest极验滑动验证

    前言 前一阵子打球认识了一个小学生,为了骗他钱,吹了好半天,什么盗取心上人的QQ密码,吃鸡外挂,学校饭卡无限充值,最终达成交易10块钱帮他刷QQ赞. 回家赶快百度研究了一下,原来刷赞很简单:很多网站都 ...

  5. spring boot+ geetest滑动验证

    geetest滑动验证 最近公司为了安全,在登录注册,发送短信等需要验证的地方改为用滑动验证,再此记录一下 一.注册账号极验官网 进去以后找到 ID和key值需要记住,代码中需要配置 二.下载demo ...

  6. 安卓图片滑动验证模块

    最近想把工作这两年的东西好好写一写,一直觉得自己好像没做什么东西一样,写一写也能给自己一点自信,当然更像是一次总结. 安卓滑动验证模块是去年一个需求做的,当时也只是从网上找了一个不错的博客 cv 大法 ...

  7. “偷懒”的表单验证Demo

    我们在做开发时,经常要做表单验证,比如验证文本框必须填内容时,而文本框又很多时,传统的做法是逐个判断: if (form1.name.value == "") { alert(&q ...

  8. 爬虫:滑动验证解决方法及python实现

    爬虫时遇到滑动验证,基本思路是通过selenium操作浏览器,将滑动验证的原始图片和缺口图片进行对比,找出缺口位置,然后在利用selenium模拟拖动滑块,达到验证的目的.下面就以猪八戒网为例,进行操 ...

  9. python写一个自动登录脚本_Python 实现自动登录+点击+滑动验证功能

    需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码 ...

  10. python自动登录教程_Python 实现自动登录+点击+滑动验证功能

    需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码 ...

最新文章

  1. 如何在DataGrid里面产生滚动条而不滚动题头
  2. 99%高精度、毫秒级延迟,AI便携式神经假肢让截肢14年患者运动自如
  3. 算法 - pyhton - 二分查找
  4. 包银消费CTO汤向军:消费金融大数据风控架构与实践
  5. c语言对分查找实验报告,C语言实验指导.doc
  6. go.js中的图标(icons)的使用
  7. 编程挑战系统的输入和输出详细说明
  8. x86架构下 CF与OF标志位 带符号和无符号运算 详解
  9. 【EasyNetQ】- 使用Future Publish调度事件
  10. 前端学习(3311):redux的state hook对象
  11. 4-输出基本数据类型
  12. hadoop3.1.2 配置 3台 完全分布式
  13. 适合初学者的struts简单案例
  14. JavaScript的面向对象原理之原型链
  15. Cesium应用篇:3控件(1)Clock
  16. Java内存模型与共享变量可见性
  17. 数据清洗有哪些方法?
  18. 磁性能测试标准和项目有哪些
  19. python100个必备包_这套python教程超详细,包你1小时入门Python,100天摇身变大牛...
  20. shell 脚本切换用户执行当前脚本命令

热门文章

  1. 在JSP中使用CELL插件
  2. FlashFXP设置文件传输速度
  3. 计量经济学——试题总结
  4. java基础——数据库
  5. Mysql 数据库操作系统 官网 安装教程
  6. ROS 2 Crystal Clemmys版机器人操作系统补充说明
  7. 微博中微服务缓存_新浪微博温情:基于微服务的微博直播互动架构设计经验分享...
  8. bitblt与StretchDIBits
  9. WPC QI 无线充电
  10. 公转对讲融合项目如何实现对接?