// ==UserScript== // @name 简易自动搜题职教云 // @namespace a // @version 0.0.1 // @description 简易自动搜题 // @author Sokowm // @match *://*.zjy2.icve.com.cn/* // @license MIT // @downloadURL none // ==/UserScript== //填写搜题服务器地址和端口,如https://www.baidu.com:8085/ // 获取所有包含 'wrkxajis' 的元素ID const elementsWithSpecificId = [...document.getElementsByTagName('*')] .filter(element => element.id && element.id.includes('wrkxajis')) .map(element => element.id); // 打印符合条件的元素数量和ID列表 console.log(`Total elements with ID containing 'wrkxajis': ${elementsWithSpecificId.length}`); // console.log('Element IDs:', elementsWithSpecificId); // 添加计数器 let answersCount = 0; // 将forEach改为Promise.all方式执行 Promise.all(elementsWithSpecificId.map(async (id) => { const selector = `#${id} > div > div.titleBox > div.seeTitle.titleTwo > span.htmlP.ql-editor`; const element = document.querySelector(selector); if (element) { try { const response = await fetch('填写服务器地址', { method: 'POST', body: JSON.stringify({ question: element.textContent }) }); // 检查响应是否成功 if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } // 解析JSON响应 const result = await response.json(); // 获取第一个结果对象 const answerData = result[0]; // 获取正确答案的选项内容 const correctAnswerText = answerData.options[answerData.answer]; // 增加计数器 answersCount++; console.log('问题:', answerData.question); console.log('正确答案:', `${answerData.answer} - ${correctAnswerText}`); } catch (error) { console.error('Error fetching data from API:', error); } } })).then(() => { // 所有请求完成后打印最终数量 console.log(`\n获取答案完成!总共获取到 ${answersCount} 个答案`); });