{"id":21814187,"url":"https://github.com/enncy/auto-script-ocs","last_synced_at":"2025-08-23T18:12:22.291Z","repository":{"id":57187364,"uuid":"318935983","full_name":"enncy/auto-script-ocs","owner":"enncy","description":"网课平台自动登录, 自动获取课程, 自动进入课程, auto-script-projects  for  OnlineCourceScript","archived":false,"fork":false,"pushed_at":"2021-01-07T12:48:28.000Z","size":178,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-26T18:06:43.018Z","etag":null,"topics":["auto-script"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enncy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-06T02:43:08.000Z","updated_at":"2023-11-15T15:53:55.000Z","dependencies_parsed_at":"2022-08-28T10:51:30.677Z","dependency_job_id":null,"html_url":"https://github.com/enncy/auto-script-ocs","commit_stats":null,"previous_names":["klskeleton/auto-script-ocs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enncy%2Fauto-script-ocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enncy%2Fauto-script-ocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enncy%2Fauto-script-ocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enncy%2Fauto-script-ocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enncy","download_url":"https://codeload.github.com/enncy/auto-script-ocs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799693,"owners_count":21163398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-script"],"created_at":"2024-11-27T14:36:15.333Z","updated_at":"2025-04-13T23:46:07.828Z","avatar_url":"https://github.com/enncy.png","language":"TypeScript","readme":"# auto-script-ocs\nauto-script-projects  for  OnlineCourseScript\n\n\n### ocs 的自动化测试脚本\n#### 功能：\n- 超星自动登录\n- 超星自动获取课程\n- 超星自动进入课程，作业，考试\n\n## 使用\n```shell\n// install this project 安装此项目\nnpm i auto-script-ocs\n```\n\n新建index.js文件复制以下内容然后 `node index.js`    \n或者在你的 node 程序中调用\n\n```javascript\n\nconst ASOcs = require('auto-script-ocs')\n\nlet options = {\n    //启动类型，目前有 : cx\n    type:'cx', \n    //开启验证码破解，如果你不想用验证码破解功能，想手动输入验证码，使用 use_breakCode: false\n    use_breakCode: false,\n    //破解验证码的配置，请到 http://www.ttshitu.com/ 打码平台配置你的 account账号和 password密码\n    breakCode: {\n        username: '...',\n        password: '...',\n    },\n    //学校名称\n    school: \"北京大学\",\n    //账号名称\n    account: '123456789',\n    //密码\n    password: '123456789'\n}\n/**\n * 使用默认方式打开本机上存在的chrome浏览器，此时打开的浏览器是纯净的浏览器什么都没有\n */\nconst ocs = new ASOcs(options) //传入options配置\n\nocs.launch().then(async browser=\u003e{\n    //启动浏览器并登录\n    await ocs.login.start()\n    //获取课程信息\n    const course_info =await ocs.course.getCourseInfo()\n    console.log(course_info);\n    //进入学习界面\n    await ocs.course.gotoStudy( course_info[0].url)\n    //进入考试界面\n    await ocs.course.gotoExam(course_info[0].url)\n    //进入作业界面\n    await ocs.course.gotoWork( course_info[0].url)\n    //关闭浏览器\n    browser.close()\n}).catch(e=\u003e{\n    console.error(e);\n})\n \n \n\n\n\n```\n\n# Api\n\n# AutoScriptOcs\n## class:AutoScriptOcs(options)\n\n#### options\n\n\n+ `type`  \u003c[string](#string)\u003e    ` cx | ...`        超星 ，目前只支持 \t`cx`        \n  \n+ `use_breakCode`  \u003c[boolean](#boolean)\u003e       是否开启验证码破解 ，\n  \n+ `breakCode` \u003c[Object](#Object)\u003e  此属性必须先开启 `use_breakCode : true `     ，请到 http://www.ttshitu.com/docs/ 打码平台配置你的 account账号和 password密码\n  \n  - `account`     \u003c[string](#string)\u003e  账号\n    \n  - `password`    \u003c[string](#string)\u003e  密码\n  \n+ `school`  \u003c[string](#string)\u003e 网课平台学校名\n  \n+ `account`   \u003c[string](#string)\u003e 网课平台账号\n  \n+ `password `  \u003c[string](#string)\u003e 网课平台密码    \n    \n\n## Property\n\n\n+ `browser_utils` \u003c[BrowserUtils](#BrowserUtils)\u003e  浏览器工具类\n\n+ `login` :  \u003c[ASOcsLogin](#ASocsLogin)\u003e  登录类 ， 使用  `login.start() ` 登录\n\n+ `course`: \u003c[ASOcsCourse](#ASOcsCourse)\u003e  课程类 \n\n\n\n## Methods\n\n\n\n+ `launch()` `return ` \u003c[Browser](#Browser)\u003e 默认启动方式，初始化 \n\n+ `launchByDebug(options)` `return ` \u003c[Browser](#Browser)\u003e   调试模式启动，具体见 see *https://chromedevtools.github.io/devtools-protocol/*\n\n  + `options`  \u003c[Object](#Object)\u003e       \n    \n    - `binary_path` \u003c[string](#string)\u003e  被调试的浏览器可执行文件路径 ，例如  ..../chrome.exe          \n    \n    - `port` \u003c[number](#number)\u003e    调试模式指定端口                        \n               \n\n\n# ASOcsLogin\n\n\n登录类，`start()` 作为主函数使用，其他方法不建议调用\n\n## Methods\n\n  `start()` `return  `  \u003cPromise\u003cstring\u003e\u003e   开始登录函数\n\n具体实现类 ： [CXLogin](#CXLogin)\n\n\n\n# ASOcsCourse\n\n## Methods\n\n\n\n+ `getCourseInfo()` `return` \u003cPromise\u003cArray\u003cObject\u003e\u003e\u003e   获取课程信息，返回一个课程数组\n\n  + return \u003c [Array](#Array)\u003c [Object](#Object) \u003e \u003e\n  \n    + `Object` \u003c[Object](#Object)\u003e\n  \n      - `title` \u003c[string](#string)\u003e 课程标题\n\n      - `url` \u003c[string](#string)\u003e 课程链接\n\n      - `img` \u003c[string](#string)\u003e 课程图片链接\n\n      - `info` \u003c [Array](#Array)\u003c [string](#string)\u003e \u003e   课程信息，例如 [\"张三\",\"100班级\",\"课程结束\"]            \n          \n\n+ `gotoStudy(course_url)` `return` \u003c [Promise](#Promise)\u003c [boolean](#boolean)\u003e\u003e  进入学习界面\n\n+ `gotoWork(course_url)` `return` \u003c[Promise](#Promise)\u003c [boolean](#boolean)\u003e\u003e  进入作业界面\n\n+ `gotoExam(course_url)` `return` \u003c[Promise](Promise)\u003c [boolean](boolean)\u003e\u003e  进入考试界面\n\n  - `course_url`  \u003c[string](#string)\u003e  课程链接 ， 例如  `getCourseInfo()[0].url`         \n  \n    \n\n具体实现类：[CXCourse](#CXCourse)\n\n\n\n# CXLogin\n\n@see `src\\cx\\course.ts`\n\n# CXCourse\n\n@see  `src\\cx\\login.ts`\n\n# BrowserUtils\n\n@see `src\\utils\\browser.ts`\n\n# Browser\n\n@see [https://zhaoqize.github.io/puppeteer-api-zh_CN/#?product=Puppeteer\u0026version=v5.5.0\u0026show=api-class-browser](https://zhaoqize.github.io/puppeteer-api-zh_CN/#?product=Puppeteer\u0026version=v5.5.0\u0026show=api-class-browser)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenncy%2Fauto-script-ocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenncy%2Fauto-script-ocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenncy%2Fauto-script-ocs/lists"}