linguo2625469 发表于 2021-4-26 11:37

(油猴脚本)实现阿里云滑动验证码自动滑动

本帖最后由 linguo2625469 于 2021-4-26 11:38 编辑

代码参考: JS实现阿里云滑动验证码破解
本人只是将大神的代码添加到油猴脚本中实现全自动
油猴直接安装地址:https://greasyfork.org/zh-CN/scripts/425563-aliyun-slide
效果:


代码:

// ==UserScript==
// @name         aliyun_slide
// @namespace    https://www.yuban.ltd/
// @version      0.0.1
// @description阿里云滑块自动滑动
// @AuThor       RenJie
// @include      /+://[^\s]*/
// @grant      none
// ==/UserScript==

(function () {
    'use strict';
    /**
   * 休眠
   * @Param time    休眠时间,单位秒
   * @param desc
   * @returns {Promise<unknown>}
   */
    function sleep(time, desc = 'sleep') {
      return new Promise(resolve => {
            //sleep
            setTimeout(() => {
                console.log(desc, time, 's')
                resolve(time)
            }, Math.floor(time * 1000))
      })
    }
    /**
   * 监测节点是否存在
   * @param selector    CSS选择器
   * @param desc
   * @returns {Promise<unknown>}
   */
    function obsHas(selector, desc = 'has') {
      return new Promise(resolve => {
            //obs node
            let timer = setInterval(() => {
                let target = document.querySelector(selector)
                if (!!target) {
                  clearInterval(timer)
                  console.log(desc, selector)
                  resolve(selector)
                } else {
                  return
                }
            }, 100)
      })
    }
    function slide(id) {
      var slider = document.getElementById(id),
            container = slider.parentNode;

      var rect = slider.getBoundingClientRect(),
            x0 = rect.x || rect.left,
            y0 = rect.y || rect.top,
            w = container.getBoundingClientRect().width,
            x1 = x0 + w,
            y1 = y0;

      var mousedown = document.createEvent("MouseEvents");
      mousedown.initMouseEvent("mousedown", true, true, window, 0,
            x0, y0, x0, y0, false, false, false, false, 0, null);
      slider.dispatchEvent(mousedown);

      var mousemove = document.createEvent("MouseEvents");
      mousemove.initMouseEvent("mousemove", true, true, window, 0,
            x1, y1, x1, y1, false, false, false, false, 0, null);
      slider.dispatchEvent(mousemove);
    }
    sleep(1)
      .then(() => obsHas('.nc_wrapper'))
      .then(() => slide('nc_1_n1z'))
})();

涛之雨 发表于 2021-4-26 11:53

laokiller 发表于 2021-4-26 11:44
感谢分享,但是我记得论坛不允许发油候脚本的帖子

可以发布,请勿误导他人

laokiller 发表于 2021-4-26 11:44

感谢分享,但是我记得论坛不允许发油候脚本的帖子

linguo2625469 发表于 2021-4-26 11:42

mywuwu 发表于 2021-4-26 11:40
这个有什么效果??

自动滑动阿里云的滑块 比如登录蓝奏云 每次都要手动滑 装上这个就能自动化了

mywuwu 发表于 2021-4-26 11:40

这个有什么效果??

linguo2625469 发表于 2021-4-26 11:47

laokiller 发表于 2021-4-26 11:44
感谢分享,但是我记得论坛不允许发油候脚本的帖子

班规没看到啊如果禁止的话我就删除掉了

阿狂 发表于 2021-4-26 11:51

laokiller 发表于 2021-4-26 11:44
感谢分享,但是我记得论坛不允许发油候脚本的帖子

那还不赶紧收藏了,哈哈

linguo2625469 发表于 2021-4-26 11:59

涛之雨 发表于 2021-4-26 11:53
可以发布,请勿误导他人

谢谢斑竹

灵之约 发表于 2021-4-26 11:59

学习了 感谢教程!

涛之雨 发表于 2021-4-26 12:12

记得可以通过安卓客户端的网页实现免验证码登录
页: [1] 2 3 4
查看完整版本: (油猴脚本)实现阿里云滑动验证码自动滑动