zoukankan      html  css  js  c++  java
  • 用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 }

    效果图:

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

  • 相关阅读:
    hash表及带注释插头dp
    NOIP模拟测试9「随·单·题」
    静态点分治总结
    NOIP模拟测试8「匹配·回家」
    NOIP模拟测试8「寿司」
    「PKUWC2018」Slay the Spire
    矩阵快速幂总结
    SQL中的object_id函数
    SQL数据库Replace的用法
    SQL批量提交修改业务
  • 原文地址:https://www.cnblogs.com/jeavenwong/p/8497115.html
Copyright © 2011-2022 走看看