用Java实现自动打开浏览器在搜索框中进行搜索
主要使用了Java的剪切板操作和Robot类
上代码:
1 package pers.jeaven.AutoRobot.main; 2 3 import java.awt.Desktop; 4 import java.awt.Robot; 5 import java.awt.Toolkit; 6 import java.awt.datatransfer.Clipboard; 7 import java.awt.datatransfer.StringSelection; 8 import java.awt.event.InputEvent; 9 import java.awt.event.KeyEvent; 10 import java.net.URI; 11 12 13 /* 14 * @Author: jeaven wong 15 * @Date:2017/3/3 15:21 16 */ 17 18 public class AutoRobotMain { 19 20 21 //一次在搜索框中输入一句话的原理:定义一句话后将它复制到剪贴区然后粘贴。主要利用了剪切板. 22 23 //定义组合键 Ctrl 例如多次使用Ctrl + c 24 public static void keyCtrl(Robot r, int key) { 25 r.keyPress(KeyEvent.VK_CONTROL); 26 r.keyPress(key); 27 r.keyRelease(KeyEvent.VK_CONTROL); 28 r.keyRelease(key); 29 r.delay(100); 30 } 31 32 public static void main(String[] args) { 33 34 35 //打开浏览器,输入文字i,并且输入文字 36 37 try { 38 //允许java应用去启动已经在电脑上安装的程序 39 Desktop desktop = Desktop.getDesktop(); 40 //在浏览器里面输入一个地址 41 desktop.browse(new URI("https://www.baidu.com/")); 42 //移动鼠标,创建一个机器人,并且等待网站加载完毕后再让机器人行动 43 Robot robot = new Robot(); 44 //延时1秒 45 robot.delay(2000); 46 //移动到搜索框的坐标位置并且获取焦点 47 robot.mouseMove(489, 290); 48 robot.delay(1000); 49 //按下鼠标左键并且放松左键 (InputEvent.BUTTON1_DOWN_MASK) 50 robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); 51 robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); 52 53 //获取系统的剪切板 54 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 55 //设置字符串 56 String str = "Java学习视频"; 57 //构建String的数据类型 58 StringSelection selection = new StringSelection(str); 59 //添加文本到系统剪切板 60 clipboard.setContents(selection, null); 61 62 //CTRL + V 复制到搜索框 63 keyCtrl(robot,KeyEvent.VK_V); 64 65 //按下回车 66 robot.keyPress(KeyEvent.VK_ENTER); 67 robot.keyRelease(KeyEvent.VK_ENTER); 68 //再按一下回车 69 robot.keyPress(KeyEvent.VK_ENTER); 70 robot.keyRelease(KeyEvent.VK_ENTER); 71 72 } catch (Exception e) { 73 74 e.printStackTrace(); 75 } 76 77 } 78 79 80 }
效果图:
非常简单,无聊的时候写着玩
少一些功利主义的追求,多一些不为什么的坚持!