利用puppeteer自动录入成绩

教师通常会使用Excel处理成绩,然后再录入到其他系统中。

利用puppeteer自动登录教务系统,录入成绩。

第一步骤:先实现自动登录

const fs = require('fs');
const puppeteer = require('puppeteer');
(async () => {
	 
	// 载入配置文件并使用JSON.parse()解析  
	var config = JSON.parse(fs.readFileSync('./config.json').toString());
	console.log("(1) Config Loaded...");
	
	const browser = await puppeteer.launch({headless: false});
	const page = await browser.newPage();
	
 	await page.goto('http://192.168.1.1/web/web/web/index.asp');
	// 输入用户和密码,点击登录
	await page.type("#main3Col1 > div.main3Col1Box > div > table > tbody > tr:nth-child(1) > td:nth-child(2) > input.INPUTBOX",config.username);
	await page.type("#main3Col1 > div.main3Col1Box > div > table > tbody > tr:nth-child(2) > td:nth-child(2) > input",config.password);
	await page.click('#main3Col1 > div.main3Col1Box > div > table > tbody > tr:nth-child(4) > td:nth-child(2) > input[type="submit"]:nth-child(1)');
	console.log("(2) Login Secuessed...");
   
   // 跳转到成绩管理页面 
	await page.goto('http://192.168.1.1/jiaoshi/cj/jshi/zhuang.asp',{referer: 'http://192.168.1.1/jiaoshi/bangong/main/index1.asp'});

   await browser.close();
})();

说明:

  1. 选择器可以利用Chrome的调试工具
  2. 原有网页跳转时,需要检查请求的Referer值,所有需要在goto时带上{referer:}选项。
  3. page.type(selecter,text) 可以实现录入文字
  4. page.click() 可以实现点击登录按钮
  5. page.goto() 实现页面的跳转
  6. 每次执行页面操作时,都添加await关键字,实现异步的操作。例如页面跳转过去后,但页面内容可能需要花一些时间才能显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值