古诗文网自动填充验证码

自动识别填充验证码以及账号信息并登录(不可用),不需要到代码中修改账号,登陆一次之后就会自动登录(不可用)

目前為 2022-10-13 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name 古诗文网自动填充验证码
  3. // @namespace http://waahah.github.io/
  4. // @version 0.2.3
  5. // @description 自动识别填充验证码以及账号信息并登录(不可用),不需要到代码中修改账号,登陆一次之后就会自动登录(不可用)
  6. // @author waahah
  7. // @license Apache License 2.0
  8. // @require https://unpkg.com/tesseract.js@2.1.4/dist/tesseract.min.js
  9. // @match *://so.gushiwen.cn/user/login.aspx*
  10. // @icon data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M15 3h6v5h-2V5h-4V3zM9 3v2H5v3H3V3h6zm6 18v-2h4v-3h2v5h-6zm-6 0H3v-5h2v3h4v2zM3 11h18v2H3v-2z'/%3E%3C/svg%3E
  11. // @grant unsafeWindow
  12. // @grant GM_registerMenuCommand
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. 'use strict';
  17. class Sleep {
  18. constructor(timeout) {
  19. this.timeout = timeout;
  20. }
  21. then(resolve, reject) {
  22. const startTime = Date.now();
  23. setTimeout(
  24. () => resolve(Date.now() - startTime),
  25. this.timeout
  26. );
  27. }
  28. }
  29.  
  30. let name,pwd,valName,valPwd;
  31. const host_name = `${location.host}_nmae`;
  32. const host_pwd = `${location.host}_pwd`;
  33.  
  34. const del = () => {
  35. if (window.localStorage.getItem(host_name)!==null){
  36. window.localStorage.removeItem(host_name);
  37. }
  38. if (window.localStorage.getItem(host_pwd)!==null){
  39. window.localStorage.removeItem(host_pwd);
  40. }
  41. }
  42. GM_registerMenuCommand("删除保存在本地的账号密码", del);
  43.  
  44. valName = localStorage.getItem(host_name);
  45. valPwd = localStorage.getItem(host_pwd);
  46.  
  47. if(valName== undefined && valPwd == undefined){
  48. name = prompt('第一次需输入邮箱/手机号:','');
  49. pwd = prompt('第一次需输入密码:','');
  50. localStorage.setItem(host_name, name);
  51. localStorage.setItem(host_pwd, pwd);
  52. valName = localStorage.getItem(host_name);
  53. valPwd = localStorage.getItem(host_pwd);
  54. console.log(localStorage);
  55.  
  56. }
  57.  
  58. const account = document.querySelector('#email');
  59. const password = document.querySelector('#pwd');
  60. const core = document.querySelector('#code');
  61. const randcode = document.querySelector('#imgCode');
  62. const submit = document.querySelector('#denglu');
  63. const emailNo = document.getElementById('emailNo').style.display;
  64. const pwdNo = document.getElementById('pwdNo').style.display;
  65.  
  66. const login = () => {
  67. $("#leftLogin").fadeOut("slow");//立即停止显示微信扫码登录(不可用)
  68. clearInterval(intervalErweima);
  69. if(account.value == '邮箱 / 手机号' && password .value == ''){
  70. //onEmial();//消除提示
  71. account.value = valName;
  72. //onPwd();消除提示
  73. password .value = valPwd;
  74. }else if(zhanghao.value !== valName || password .value !== valPwd){
  75. zhanghao.value = valName;
  76. password .value = valPwd;
  77. }
  78. return new Promise(resolve => {
  79. console.log('开始尝试登录(不可用)...');
  80. })
  81. }
  82.  
  83. const security = async () => {
  84. //GetCodeImg();
  85. const exampleImage = "/RandCode.ashx";
  86. console.log(`exampleImage${exampleImage}`);
  87.  
  88. const worker = Tesseract.createWorker({
  89. logger: m => console.log(m)
  90. });
  91. Tesseract.setLogging(true);
  92. work();
  93.  
  94. async function work() {
  95. await worker.load();
  96. await worker.loadLanguage('eng');
  97. await worker.initialize('eng');
  98.  
  99. let result = await worker.recognize(exampleImage);
  100. console.log(result.data);
  101. console.log(`识别成功率:${result.data.confidence}`);
  102.  
  103. await worker.terminate();
  104. core.value = result.data.text;
  105. if(emailNo == 'none' && pwdNo == 'none'&&result.data.confidence>50){
  106. submit.click();
  107. }
  108. if(result.data.confidence<60){
  109. (async () => GetCodeImg()) ().then(
  110. async () => {
  111. await new Sleep(1000);
  112. await security();
  113. }
  114. );
  115.  
  116. }
  117. }
  118. }
  119. window.onload = async() => {
  120. login().then(
  121. security()
  122. );
  123. }
  124.  
  125. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址