智慧树|知到课程问答(互动分)自动回答问题脚本

在问题已有回答时,复制第一个答案,自动回答问题并发布回答,随后关闭页面

  1. // ==UserScript==
  2. // @name 智慧树|知到课程问答(互动分)自动回答问题脚本
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description 在问题已有回答时,复制第一个答案,自动回答问题并发布回答,随后关闭页面
  6. // @author ChatGPT&WJ_Sun
  7. // @match https://qah5.zhihuishu.com/*
  8. // @grant none
  9. // @icon https://www.zhihuishu.com/favicon.ico
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. // 复制第一个相似元素的内容
  17. function copyElementContent() {
  18. var timeElement = document.querySelector('div.set-time');
  19. var spanElement = timeElement.nextElementSibling.querySelector('span[data-v-ef58c864]');
  20. var content = spanElement.textContent;
  21. return content;
  22. }
  23.  
  24. // 点击回答按钮
  25. function clickAnswerButton() {
  26. var button = document.querySelector('div.my-answer-btn.ZHIHUISHU_QZMD.tool-show');
  27. button.click();
  28. }
  29.  
  30. // 在回答框中粘贴内容
  31. function pasteContentInTextArea(content) {
  32. var textarea = document.querySelector('textarea.el-textarea__inner');
  33. textarea.value = content;
  34. textarea.dispatchEvent(new Event('input', { bubbles: true }));
  35. }
  36.  
  37. // 点击发布按钮
  38. function clickPublishButton() {
  39. var button = document.querySelector('div.up-btn.ZHIHUISHU_QZMD.set-btn');
  40. button.click();
  41. }
  42.  
  43. // 延迟执行函数
  44. function delay(ms) {
  45. return new Promise(resolve => setTimeout(resolve, ms));
  46. }
  47.  
  48. // 主要逻辑
  49. async function main() {
  50. var content = copyElementContent();
  51. clickAnswerButton();
  52. await delay(200);
  53. pasteContentInTextArea(content);
  54. await delay(200);
  55. clickPublishButton();
  56. await delay(1500);
  57. window.close(); // 关闭当前页面
  58. }
  59.  
  60. // 延迟执行主函数
  61. setTimeout(main, 2000);
  62. })();

QingJ © 2025

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