主要使用了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 }
效果圖:
非常簡單,無聊的時候寫着玩