Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/enncy/auto-script-ocs
网课平台自动登录, 自动获取课程, 自动进入课程, auto-script-projects for OnlineCourceScript
https://github.com/enncy/auto-script-ocs
auto-script
Last synced: 25 days ago
JSON representation
网课平台自动登录, 自动获取课程, 自动进入课程, auto-script-projects for OnlineCourceScript
- Host: GitHub
- URL: https://github.com/enncy/auto-script-ocs
- Owner: enncy
- License: apache-2.0
- Created: 2020-12-06T02:43:08.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-07T12:48:28.000Z (almost 4 years ago)
- Last Synced: 2024-04-26T18:06:43.018Z (8 months ago)
- Topics: auto-script
- Language: TypeScript
- Homepage:
- Size: 174 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# auto-script-ocs
auto-script-projects for OnlineCourseScript### ocs 的自动化测试脚本
#### 功能:
- 超星自动登录
- 超星自动获取课程
- 超星自动进入课程,作业,考试## 使用
```shell
// install this project 安装此项目
npm i auto-script-ocs
```新建index.js文件复制以下内容然后 `node index.js`
或者在你的 node 程序中调用```javascript
const ASOcs = require('auto-script-ocs')
let options = {
//启动类型,目前有 : cx
type:'cx',
//开启验证码破解,如果你不想用验证码破解功能,想手动输入验证码,使用 use_breakCode: false
use_breakCode: false,
//破解验证码的配置,请到 http://www.ttshitu.com/ 打码平台配置你的 account账号和 password密码
breakCode: {
username: '...',
password: '...',
},
//学校名称
school: "北京大学",
//账号名称
account: '123456789',
//密码
password: '123456789'
}
/**
* 使用默认方式打开本机上存在的chrome浏览器,此时打开的浏览器是纯净的浏览器什么都没有
*/
const ocs = new ASOcs(options) //传入options配置ocs.launch().then(async browser=>{
//启动浏览器并登录
await ocs.login.start()
//获取课程信息
const course_info =await ocs.course.getCourseInfo()
console.log(course_info);
//进入学习界面
await ocs.course.gotoStudy( course_info[0].url)
//进入考试界面
await ocs.course.gotoExam(course_info[0].url)
//进入作业界面
await ocs.course.gotoWork( course_info[0].url)
//关闭浏览器
browser.close()
}).catch(e=>{
console.error(e);
})
```
# Api
# AutoScriptOcs
## class:AutoScriptOcs(options)#### options
+ `type` <[string](#string)> ` cx | ...` 超星 ,目前只支持 `cx`
+ `use_breakCode` <[boolean](#boolean)> 是否开启验证码破解 ,
+ `breakCode` <[Object](#Object)> 此属性必须先开启 `use_breakCode : true ` ,请到 http://www.ttshitu.com/docs/ 打码平台配置你的 account账号和 password密码
- `account` <[string](#string)> 账号
- `password` <[string](#string)> 密码
+ `school` <[string](#string)> 网课平台学校名
+ `account` <[string](#string)> 网课平台账号
+ `password ` <[string](#string)> 网课平台密码
## Property
+ `browser_utils` <[BrowserUtils](#BrowserUtils)> 浏览器工具类
+ `login` : <[ASOcsLogin](#ASocsLogin)> 登录类 , 使用 `login.start() ` 登录
+ `course`: <[ASOcsCourse](#ASOcsCourse)> 课程类
## Methods
+ `launch()` `return ` <[Browser](#Browser)> 默认启动方式,初始化
+ `launchByDebug(options)` `return ` <[Browser](#Browser)> 调试模式启动,具体见 see *https://chromedevtools.github.io/devtools-protocol/*
+ `options` <[Object](#Object)>
- `binary_path` <[string](#string)> 被调试的浏览器可执行文件路径 ,例如 ..../chrome.exe
- `port` <[number](#number)> 调试模式指定端口
# ASOcsLogin
登录类,`start()` 作为主函数使用,其他方法不建议调用
## Methods
`start()` `return ` > 开始登录函数
具体实现类 : [CXLogin](#CXLogin)
# ASOcsCourse
## Methods
+ `getCourseInfo()` `return` >> 获取课程信息,返回一个课程数组
+ return < [Array](#Array)< [Object](#Object) > >
+ `Object` <[Object](#Object)>
- `title` <[string](#string)> 课程标题- `url` <[string](#string)> 课程链接
- `img` <[string](#string)> 课程图片链接
- `info` < [Array](#Array)< [string](#string)> > 课程信息,例如 ["张三","100班级","课程结束"]
+ `gotoStudy(course_url)` `return` < [Promise](#Promise)< [boolean](#boolean)>> 进入学习界面
+ `gotoWork(course_url)` `return` <[Promise](#Promise)< [boolean](#boolean)>> 进入作业界面
+ `gotoExam(course_url)` `return` <[Promise](Promise)< [boolean](boolean)>> 进入考试界面
- `course_url` <[string](#string)> 课程链接 , 例如 `getCourseInfo()[0].url`
具体实现类:[CXCourse](#CXCourse)
# CXLogin
@see `src\cx\course.ts`
# CXCourse
@see `src\cx\login.ts`
# BrowserUtils
@see `src\utils\browser.ts`
# Browser
@see [https://zhaoqize.github.io/puppeteer-api-zh_CN/#?product=Puppeteer&version=v5.5.0&show=api-class-browser](https://zhaoqize.github.io/puppeteer-api-zh_CN/#?product=Puppeteer&version=v5.5.0&show=api-class-browser)