java robot

..

 

package t;

import java.awt.Robot;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.util.Random;

/**
 * 参考
 * https://blog.csdn.net/zone_four/article/details/85783207
 * @author Administrator
 *
 */
public class Util {
	  /**
     * 从剪贴板中获取文本(粘贴)
     */
    public  String getClipboardString() {
        // 获取系统剪贴板
        Clipboard clipboard =java.awt.Toolkit. getDefaultToolkit().getSystemClipboard();

        // 获取剪贴板中的内容
        Transferable trans = clipboard.getContents(null);

        if (trans != null) {
            // 判断剪贴板中的内容是否支持文本
            if (trans.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                try {
                    // 获取剪贴板中的文本内容
                    String text = (String) trans.getTransferData(DataFlavor.stringFlavor);
                    return text;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

        return null;
    }
    /**
     * 把文本设置到剪贴板(复制)
     */
    public static void setClipboardString(String text) {
        // 获取系统剪贴板
        Clipboard clipboard = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
        // 封装文本内容
        Transferable trans = new StringSelection(text);
        // 把文本内容设置到系统剪贴板
        clipboard.setContents(trans, null);
    }
    String lastOne="";
	public void dothing(){
		try{
			 Robot robot = new Robot();
			 //桌面 
	         robot.keyPress(KeyEvent.VK_WINDOWS);
	         robot.keyPress(KeyEvent.VK_D);
	         robot.keyRelease(KeyEvent.VK_D);
	         robot.keyRelease(KeyEvent.VK_WINDOWS);
	         
			 	//延迟
	         	robot.delay(400);
		       //将鼠标移到控制台区域
		         robot.mouseMove(152,754);	
		       //按下和释放鼠标左键,选定工程
		 		robot.mousePress(KeyEvent.BUTTON1_MASK);
		 		robot.mouseRelease(KeyEvent.BUTTON1_MASK);
		 		
		 		 robot.delay(200);
		 		 
		 		robot.keyPress(KeyEvent.VK_CONTROL);
		 		robot.keyPress(KeyEvent.VK_1);
		 		
		 		robot.keyRelease(KeyEvent.VK_1);
				robot.keyRelease(KeyEvent.VK_CONTROL);

//		 		
			       //将鼠标移到控制台区域
		 		 
		 		 for(int i=0;i<60;i++){

			 		robot.delay(1500);
			 		
			 		
			 		int startx=1092;
			 		int starty=293;
			 		
		 			robot.mouseMove(startx,starty+130*0);	
//		 			
//		 			robot.mouseMove(993*(i+122),520);	
		 			//点击 
//robot.delay(22200);
			 		//美团 探出图 
		 			robot.mousePress(KeyEvent.BUTTON1_MASK);
			 		robot.mouseRelease(KeyEvent.BUTTON1_MASK);
			 		robot.delay(100);
//			 		//将文字复制到黏贴版 
//			 		robot.keyPress(KeyEvent.VK_CONTROL);
//			 		robot.keyPress(KeyEvent.VK_SHIFT);
//			 		robot.keyPress(KeyEvent.VK_C);
//			 		robot.keyRelease(KeyEvent.VK_CONTROL);
//					robot.keyRelease(KeyEvent.VK_SHIFT);
//					robot.keyRelease(KeyEvent.VK_C);
//					robot.delay(500);
					String str=getClipboardString();
					System.out.println("1start:"+startx+" y:"+starty+"\t content:"+getClipboardString());
//					if(str.contains("<'")||str.contains("opacity")){
//						str="null_"+System.currentTimeMillis()+".jpg";
//						setClipboardString(str);
//						robot.delay(1000);
//						System.out.println("new content:"+getClipboardString());
//					}

					robot.mouseMove(1152,451);	
					robot.delay(100);
					//选择文字 
//					robot.mouseMove(1142,459);	
//					robot.delay(10);
//			 		robot.mousePress(KeyEvent.BUTTON1_MASK);
//			 		robot.mouseRelease(KeyEvent.BUTTON1_MASK);
//			 		robot.delay(200);
//
//					robot.mouseMove(395,400);	
//					robot.delay(500);
//			 		robot.mousePress(KeyEvent.BUTTON1_MASK);
//			 		robot.mouseRelease(KeyEvent.BUTTON1_MASK);
//
//					robot.delay(10);
//			 		robot.mousePress(KeyEvent.BUTTON1_MASK);
//			 		robot.mouseRelease(KeyEvent.BUTTON1_MASK);

//					robot.delay(50);
//			 		//开始复制文件
//			 		robot.keyPress(KeyEvent.VK_CONTROL);
//			 		robot.keyPress(KeyEvent.VK_C);
//			 		robot.delay(50);
//					robot.keyRelease(KeyEvent.VK_C);
//			 		robot.keyRelease(KeyEvent.VK_CONTROL);
//					robot.delay(200);
//			 		//单机右键 
					
					//移动到图片上去
					robot.mouseMove(1152,381);	
			 		
					robot.mousePress(InputEvent.BUTTON3_MASK);
					robot.mouseRelease(InputEvent.BUTTON3_MASK);
					//打开图片
			 		robot.delay(100);
			 		robot.keyPress(KeyEvent.VK_V);
			 		robot.keyRelease(KeyEvent.VK_V);

					//robot.mouseMove(1151,380);	
//			 		if(lastOne.equals(str)||str.contains("已存在")){
//			 			robot.delay(100);
//				 		robot.keyPress(KeyEvent.VK_N);
//				 		robot.keyRelease(KeyEvent.VK_N);robot.delay(100);
//				 		robot.mouseMove(1194,553);	
//			 			robot.delay(100);
//				 		robot.mousePress(KeyEvent.BUTTON1_MASK);
//				 		robot.mouseRelease(KeyEvent.BUTTON1_MASK);
//				 		robot.delay(200);
//				 		robot.mouseWheel(1);
//				 		lastOne=str;
//				 		System.out.println("RobotMeituan.dothing()");
//				 		
//				 		continue;
//			 		}
//			 		else
			 		robot.delay(200);
			 		robot.keyPress(KeyEvent.VK_A);
			 		robot.keyRelease(KeyEvent.VK_A);
			 		for(int u=0;u<10;u++){robot.delay(50);
			 			int math=(int)(Math.random()*10);
			 			if(math<2){
					 		robot.keyPress(KeyEvent.VK_1);
					 		robot.keyRelease(KeyEvent.VK_1);
			 			}else if(math<3){
					 		robot.keyPress(KeyEvent.VK_A);
					 		robot.keyRelease(KeyEvent.VK_A);
			 			}
			 			else if(math<5){
					 		robot.keyPress(KeyEvent.VK_B);
					 		robot.keyRelease(KeyEvent.VK_B);
			 			}else if(math<7){
					 		robot.keyPress(KeyEvent.VK_0);
					 		robot.keyRelease(KeyEvent.VK_0);
			 			}else if(math<8){
					 		robot.keyPress(KeyEvent.VK_C);
					 		robot.keyRelease(KeyEvent.VK_C);
			 			}else{
			 				robot.keyPress(KeyEvent.VK_D);
					 		robot.keyRelease(KeyEvent.VK_D);
			 			}

			 		}
			 		robot.delay(100);
			 		robot.keyPress(KeyEvent.VK_PERIOD);
			 		robot.keyRelease(KeyEvent.VK_PERIOD);			 		
			 		robot.delay(100);
			 		robot.keyPress(KeyEvent.VK_J);
			 		robot.keyRelease(KeyEvent.VK_J);

			 		robot.delay(100);
			 		robot.keyPress(KeyEvent.VK_P);
			 		robot.keyRelease(KeyEvent.VK_P);

			 		robot.delay(100);
			 		robot.keyPress(KeyEvent.VK_G);
			 		robot.keyRelease(KeyEvent.VK_G);


//			 		if(str.contains("<'")||str.contains("opacity")||lastOne.equals(str)||str.contains("<div")||str.contains("@800w")){
//			 				break;
//			 			//复制补了就 不改名字 或者名字一样
//			 		}else{
//				 		robot.delay(1000);
////				 		System.err.println("1a");
//				         robot.keyPress(KeyEvent.VK_CONTROL);
//					 		robot.keyPress(KeyEvent.VK_V);
//					 		robot.keyRelease(KeyEvent.VK_V);
//					 		robot.keyRelease(KeyEvent.VK_CONTROL);	
//			 		}
//				 		System.err.println("a");
//				 		robot.delay(500);
			 		//回车保存
			 		robot.delay(1000);
			 		
			 		 robot.keyPress(KeyEvent.VK_ENTER);  
			         robot.keyRelease(KeyEvent.VK_ENTER);  
			     	robot.delay(300);
//			 		robot.keyPress(KeyEvent.VK_ENTER);
//			 		robot.keyRelease(KeyEvent.VK_ENTER);
//			 		robot.delay(100);
//			 		robot.keyPress(KeyEvent.VK_ESCAPE);
//			 		robot.keyRelease(KeyEvent.VK_ESCAPE);
//			 		
			         //关闭 窗口 
			 		robot.delay(100);
		 			robot.mouseMove(1194,553);	
		 			robot.delay(100);
			 		robot.mousePress(KeyEvent.BUTTON1_MASK);
			 		robot.mouseRelease(KeyEvent.BUTTON1_MASK);
			 		robot.delay(200);
//			 		robot.delay(12500);
//			 		robot.mousePress(KeyEvent.BUTTON2_MASK);
//			 		robot.mouseRelease(KeyEvent.BUTTON2_MASK);
//			 		break;
			 		//下滑动
			 		robot.mouseWheel(1);
			 		lastOne=str;
		 		 }
			         
				 		System.out.println("RobotMeituan.dothing()end...");
				 		
			         
			 		 robot.delay(100);
			         
//		 	// 这里是按下和释放alt键,这个键的功能是调用菜单
//				robot.keyPress(KeyEvent.VK_ALT);
//				robot.keyRelease(KeyEvent.VK_ALT);
//		 	// ctrl+shift+F 格式化
//				robot.keyPress(KeyEvent.VK_SHIFT);
//				robot.keyPress(KeyEvent.VK_CONTROL);
//				robot.keyPress(KeyEvent.VK_F);
//				robot.keyRelease(KeyEvent.VK_SHIFT);
//				robot.keyRelease(KeyEvent.VK_CONTROL);
//				robot.keyRelease(KeyEvent.VK_F);

//		         
//		         robot.mouseMove(1300,600);	
//				 robot.delay(1500);
//				//鼠标滚轮
//				 robot.mouseWheel(100);
//				 
////		         robot.mouseMove(300,300);	
//				 robot.delay(1500);
				 
		        
//		                 //单击右键
//		              robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
//		                robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
		}catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值