「javarobot窗口」javarobot类

博主:adminadmin 2022-12-10 13:12:08 82

本篇文章给大家谈谈javarobot窗口,以及javarobot类对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java robot类 怎么判定画布上 让robot.Mousemove()方法移动的坐标是画布的坐标 不是屏幕的坐标

robot类是Java的机器人类

robot.mousemove()方法

只能是屏幕的绝对坐标

不能使用相对坐标

关于JAVA中Robot的问题

两种可能咯,先检查下Robot这个类你引入了吗?import java.awt.Robot;

然后检查你申明的robot的作用范围。因为你是在try语句里面申明的,所以它的作用范围就局限在这个语句块内了,在try语句外调用当然会出错。可以把申明放到外面,或者加大try的作用范围。

如果不想用try,可以在方法后面加上throws,抛出异常,这样也是可以的。

Color yanse1=new Color(0,0,0);

Color yanse2=new Color(0,0,0);

try

{

Robot robot = new Robot();

yanse1=robot.getPixelColor(ix,iy);

yanse2=robot.getPixelColor(2,5);

if(yanse1!=yanse2)

ildianshu++;

...

}

catch (AWTException e){}

java的robot移动到游戏界面坐标不精准

1、首先在电脑桌面右键,显示设置里查看缩放与布局比例是不是100%。

2、如果不是,请调为100%,不然会影响获取屏幕坐标的准确性,(获取的坐标应该乘以缩放比例)。以上就解决java的robot移动到游戏界面坐标不精准的办法。

robot framework窗口切换

这里暂做个记录,问题先解决到这里,后期如果能完善该问题再来更新

疑问: robot framework中通过browser.switch_to_handle(handle)进行窗口切换时候,程序是正常切换了,但是浏览器上展示的当前窗口并没有切换

目标:在浏览器窗口A上有个链接,点击后同一浏览器打开窗口B,在A和B窗口之间互相切换,并获取对应窗口的元素

def select_by_handle(self,browser,handle):

    browser.switch_to_window(handle)

print "toHandle: "+ handle

def get_window_handles_bylh(self,browser):

    return [window_info[0]forwindow_infoinself._get_window_infos(browser)]

def get_current_window_handle_bylh(self,browser):

    return browser.get_current_window_handle()

def select_window_by_handle(self,locator=None):

    self._window_manager.select_by_handle(self._current_browser(),locator)

def get_window_handles_bylh(self):

    """Returns and logs handles of all windows known to the browser."""

    return self._log_list(self._window_manager.get_window_handles_bylh(self._current_browser()))

def get_current_window_handle_bylh(self):

    """Returns and logs handle of current window known to the browser."""

    return self._log_list(self._window_manager.get_current_window_handle_bylh(self._current_browser()))

1.通过get window handles bylh方法获取当前浏览器中A和B窗口的句柄

2.通过select_window_by_handle从A窗口切换到B窗口,获取B窗口中的元素

浏览器中的页面从A窗口跳转到B窗口,元素获取成功获取

1.通过get window handles bylh方法获取当前浏览器中A和B窗口的句柄

2.通过select_window_by_handle从A窗口切换到B窗口

3.再次通过select_window_by_handl从B窗口切换到A窗口,获取A窗口中的元素

浏览器中页面上还是展示B窗口,但能正常获取到A窗口中的元素

1.通过get window handles bylh方法获取当前浏览器中A和B窗口的句柄

2.通过select_window_by_handle从A窗口切换到B窗口

3.再次通过select_window_by_handl从B窗口切换到A窗口,获取B窗口中的元素

浏览器中页面上先是展示B窗口,等到获取B窗口中的元素失败后,浏览器中的窗口切换到A窗口

三个场景中获取浏览器的get window handles bylh和select_window_by_handle方法都正常

如何实现java 激活指定的窗口,并模似键盘输入

这个比较简单的,用 java.awt.Robot 来实现就行了。

Robot 对象有几个个方法就是操作键盘的:

void keyPress(int kc);

void keyRelease(int kc);

//例子

import java.awt.AWTException;

import java.awt.Robot;

import java.awt.event.KeyEvent;

public class RobotTest {

private static Robot rbt;

static{

try {

rbt=new Robot();

} catch (AWTException e) {e.printStackTrace();}

}

//按下

static void press(int kc){rbt.keyPress(kc);}

//释放

static void release(int kc){rbt.keyRelease(kc);}

static void type(int kc){press(kc);release(kc);}

public static void main(String[] args) {

//F7 长按

//press(KeyEvent.VK_F7);

//F7按一下

type(KeyEvent.VK_F7);

//

}

}

Java问题我现在用Robot对象写了一个鼠标能自己移动,点击,键盘能自动输入的东西。。但是他是显

一: 使用Java自带的Robot实现对鼠标和键盘的控制, 都是前台的,显示的.

二: 使用Java的 JNI/JNA技术,可以实现后台模拟操作. 不会真实的移动鼠标,点击等..

三: JNI和JNA 里面涉及一些C语言的知识, 就是利用Java去调用windows API

比如,找到浏览器的窗口句柄HWND ,发送消息PostMessage ,去实现键鼠的操作

拓展延伸

大漠插件(dm.dll),还不错.封装了很多常用的方法,比如找颜色,找图片,文字识别,键盘操作,鼠标操作等. 免费版基本够使用了.推荐 使用C#来调用dm.dll  

注意: 不推荐java调用大漠插件,因为有少数的函数,java调用不起作用...

javarobot窗口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javarobot类、javarobot窗口的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-10,除非注明,否则均为首码项目网原创文章,转载请注明出处。