自己手写屏幕记录位置并扫描课程自动播放学习视频
程序员文章站
2022-07-10 12:17:52
...
用来学习视频赚积分用的,后来厂里出了1分钟不动鼠标就暂停的版本就没用了。
纯娱乐,记录下来。
纯娱乐,记录下来。
public static void main(String[] args) throws Exception { List<String> courses= new ArrayList<String>(); String encoding="GBK"; File file=new File("D:\\MyConfiguration\\Desktop\\course.txt"); if(file.isFile() && file.exists()){ //判断文件是否存在 InputStreamReader read = new InputStreamReader( new FileInputStream(file),encoding);//考虑到编码格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while((lineTxt = bufferedReader.readLine()) != null){ Pattern p = Pattern.compile("[^0-9]"); Matcher m = p.matcher(lineTxt); String rtn =m.replaceAll("").trim(); if(rtn.length() == 5) courses.add(rtn); } read.close(); System.out.println("本次计划一共学习"+courses.size()+"个课程,准备好了吗?"); } Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Robot robot = new Robot(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 for(int i = 0;i<courses.size();i++){ String netUrl="http://tcdx.tcent.cn/course/detail.aspx?id="; netUrl += courses.get(i); java.net.URI uri = new java.net.URI(netUrl); System.out.println("第"+i+"个课程开始!"); java.awt.Desktop.getDesktop().browse(uri); //延迟5秒 robot.delay(5000); //坐标定位 robot.mouseMove(screenSize.width - 1090, 500); robot.delay(1000); robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(300); robot.mouseRelease(InputEvent.BUTTON1_MASK); System.out.println(netUrl); //Thread.sleep(5000);//等10秒 Thread.sleep(2700000);//等45分钟 System.out.println("第"+i+"个课程在"+df.format(new Date())+"学习完毕!"); } System.out.println("今天的学习完成了,总共学习了"+courses.size()+"个课程!很棒!"); }
上一篇: 深入理解java的反射机制
下一篇: 凤舞凰扬的关于数据库话题摘要 数据结构