用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 }

效果图:

 

非常简单,无聊的时候写着玩

posted @ 2018-03-03 16:52  jeavenwong  阅读(3493)  评论(0编辑  收藏  举报