「javarobot窗口」javarobot类
本篇文章给大家谈谈javarobot窗口,以及javarobot类对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java robot类 怎么判定画布上 让robot.Mousemove()方法移动的坐标是画布的坐标 不是屏幕的坐标
- 2、关于JAVA中Robot的问题
- 3、java的robot移动到游戏界面坐标不精准
- 4、robot framework窗口切换
- 5、如何实现java 激活指定的窗口,并模似键盘输入
- 6、Java问题我现在用Robot对象写了一个鼠标能自己移动,点击,键盘能自动输入的东西。。但是他是显
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窗口的信息别忘了在本站进行查找喔。
发布于:2022-12-10,除非注明,否则均为
原创文章,转载请注明出处。