Java机器人类mouseMove不去指定的位置

2023-12-05

老实说,我不完全确定出了什么问题。这是 if 和 if else 下的大量其他基本机器人命令动作的简短版本。

每当我运行该程序时,鼠标应移动到指定位置并单击。但是,当我运行程序时,它不会移动到我指示的位置,而是每次运行时它都会移动到不同的位置(我没有指定任何侦听器来更改位置,因此位置不应更改)。我不知道这是否与我自己编写的代码有关,或者可能与我的导入有关?该程序一直正确运行,直到最近我在末尾添加了 else 来结束程序,我在没有 else 的情况下运行了它,但仍然遇到了同样的问题。任何帮助将非常感激。

package creator;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import javax.swing.*;

public class RobotDemo extends JFrame implements ActionListener
{
    private static final long serialVersionUID = 1L;


public static void main(String[] args) throws AWTException, IOException
{

             double value = (-0.66721);
        {
             if (value < -0.3)
             {                                          
                    Robot robotdelta = new Robot();
                    //Enters Chrome from java
                    robotdelta.delay(5000);                     
                    robotdelta.mouseMove(587, 1045);                       
                    robotdelta.delay(1000);
                    robotdelta.mousePress(InputEvent.BUTTON1_MASK);     
                    robotdelta.delay(1000);     
                    robotdelta.mouseRelease(InputEvent.BUTTON1_MASK);       
                    robotdelta.delay(1000);
                    //Enters online platfrom
                    robotdelta.mouseMove(770, 21);
                    robotdelta.delay(1000);
                    robotdelta.mousePress(InputEvent.BUTTON1_MASK);     
                    robotdelta.delay(1000);     
                    robotdelta.mouseRelease(InputEvent.BUTTON1_MASK);       
                    robotdelta.delay(1000);                                                                                                                 
                 }


             //secondary situation 
             else if (value > 0.3)
             {                                  
                    Robot robotdelta = new Robot();
                    //Enters Chrome from java
                    robotdelta.delay(1000);
                    robotdelta.mouseMove(587, 1045);
                    robotdelta.delay(100);
                    robotdelta.mousePress(InputEvent.BUTTON1_MASK);     
                    robotdelta.delay(100);      
                    robotdelta.mouseRelease(InputEvent.BUTTON1_MASK);       
                    robotdelta.delay(100);
                    //Enters online platfrom
                    robotdelta.mouseMove(770, 21);
                    robotdelta.delay(100);
                    robotdelta.mousePress(InputEvent.BUTTON1_MASK);     
                    robotdelta.delay(100);      
                    robotdelta.mouseRelease(InputEvent.BUTTON1_MASK);       
                    robotdelta.delay(1000);

             }
             else
             {
                system.exit(0);
             }

             }


 }    





public void actionPerformed(ActionEvent e) {


}       



}

作为免责声明,我在这个类上玩了一段时间,我学到的最重要的事情是这是一个用于非常基本测试的工具,实际上任何大规模的关键操作都不应该依赖于这个类完全按预期工作。

回答你的问题,确实没有办法得到exactly你告诉的地方mouseMove()去(至少当我使用它时)。然而,似乎非常接近的是打电话mouseMove()多次到同一个地方(是的,这非常hacky并且不可取)。例如,我想将鼠标移动到屏幕上的(300,600),我发现如果你这样做:

mouseMove(300,600);
mouseMove(300,600);
mouseMove(300,600);
// ... can put more if you want

由于某种奇怪的原因,它比你直接打电话更接近你想去的地方mouseMove()一度。我不知道为什么会出现这种情况,但希望这会有所帮助。更不用说,在调用机器人执行不同操作之间设置足够的延迟也是一个好主意,并确保waitForIdle()被调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java机器人类mouseMove不去指定的位置 的相关文章

随机推荐

  • 表格和屏幕阅读器

    我似乎无法让屏幕阅读器阅读简单的表格 我有以下 HTML table alt Account Information tr th Account Number th td 1111 1111 1111 td td nbsp nbsp td
  • 如何删除div中某个div之后的所有元素

    所以我有一个在其底部绘制动态元素的 div 我想隐藏这些元素 无论它们的 ID 使用 javaScript jQuery 是什么 基本上我的 HTML 看起来像这样 div class right panel div class info
  • Ajax:将整数数组发布到 Django

    我在用着数据表 我想让用户选择多行并删除它们 到目前为止 我已经让它工作了 所以它使用下面的代码删除了选择中的第一行 阿贾克斯代码 Add a click handler for the delete row delete click fu
  • Eclipse 中 Tomcat 上 Jersey 的基本完整配置

    我是 Jersey 的新手 正在尝试使用 Tomcat 和 eclipse 建立一个基本的 web 应用程序 我看过许多教程和示例 但它们彼此不同 或者省略了部分过程 例如使用 Spring 使用 web xml 文件 在 Tomcat 上
  • 如何使用 jQuery ajax 获取另一个页面上的 div 的 html?

    我正在使用 jQuery 的 ajax 代码来加载新页面 但希望他只获取 div 的 html 我的代码 HTML div div Script ajax url href type GET success function data co
  • 如何在 Android 中动态切换 XML 样式?

    长话短说 我有一个应用程序 我在其中直接将样式属性应用于活动和片段的 XML 文件 现在我将其重构为styles xml文件 我几乎不敢直接修改主题本身 因为我之前已经尝试过类似的东西 继承变得混乱 所以 我的作品里有好几种这样的风格sty
  • R 子集的回归

    我想对不同国家 即我的数据的子集 运行相同的回归 我确实弄清楚了如何在 R 中执行此操作 但是在 Stata 中更轻松地完成相同的操作之后 我想知道 R 中是否有更好的方法 在 Stata 中你会做这样的事情 foreach country
  • PDF 中的透明图像

    This PDF由多个源代码片段组成 其中五个是包含 Alpha 通道的 PNG 一种是没有 Alpha 通道的 PNG 最后一张是带有透明效果的 Photoshop PDF 这些部件是使用 ABCpdf 9 1 组装的 在 Acrobat
  • 在 CLX TEdit 的 KeyPress 事件中拦截 TAB 键

    我有一个 TEdit VisualCLX 组件 我想覆盖 onKeyPress 事件中 TAB 键的行为 但是如果我尝试拦截 KeyPress 事件中的 TAB 键 它将不起作用 因为当在 TEdit 上按下 Tab 键 如何拦截 TEdi
  • 无法在 centos VPS 上通过 google smtp 发送电子邮件

    我正在尝试通过 google SMTP 发送电子邮件 该代码在我本地 Windows PC 的 tomcat 中运行良好 但我在我的 centos VPS 上遇到了这个错误 org apache commons mail EmailExce
  • 当我删除指针时出现分段错误(核心转储)

    我正在尝试从链接列表中删除重复项 并遇到了一个问题 这可能是显而易见且简单的 但我没有使用过C 多年来 我无法通过阅读类似的问题来找出我做错了什么 下面是我的代码的一部分 我删除了不相关的部分 例如构造函数 其他方法等 template
  • asp.net webapi 2 post参数始终为空

    过去一个小时我一直在试图弄清楚这是我们的 但我不明白它出了什么问题 这篇文章来自我正在编写的 Xamarin 应用程序 使用 RestSharp 便携式客户端 POST http 192 168 30 103 8080 api Order
  • 类型错误:不可散列的类型:'dict',当 dict 用作​​另一个 dict 的键时 [重复]

    这个问题在这里已经有答案了 我有这段代码 for element in json referenceElement keys 当我运行该代码时 我收到此错误 类型错误 不可散列的类型 dict 该错误的原因是什么 我可以采取什么措施来修复它
  • CountIf - 如何转义特殊字符(尖括号)

    我正在尝试使用 VBA 计算 Excel 电子表格中特定单元格值出现的次数 单元格值是一个 XML 标记 函数将尖括号解释为小于 大于 如何逃脱这些字符 微软说 您可以使用通配符 问号 和星号 作为条件 问号匹配任何单个字符 星号匹配任何字
  • ui-router 默认子状态不起作用

    我正在测试UI Router嵌套状态 但我无法在父 子场景中设置默认状态 请帮助 图书馆 角度 1 3 15 用户界面路由器 0 2 15 导航路径 home settings parent state page settings defa
  • 如何在约束布局上实现重叠/负边距?

    是否可以在约束布局上实现负边距以实现重叠 我试图让图像以布局为中心 并有一个文本视图 使其与 x dp 重叠 我尝试设置负保证金值 但没有成功 如果有办法实现这一点那就太好了 Update 约束布局现在版本 2 1 0 alpha2 支持负
  • 从一个函数返回不同维度的数组;在 F# 中可以吗?

    我正在尝试将一些 Python 转换为 F 特别是numpy random randn 该函数采用可变数量的 int 参数 并根据参数的数量返回不同维度的数组 我相信这是不可能的 因为不能有一个返回不同类型的函数 int int int 等
  • 使用代码更新故事板约束

    我有一个UIImage在代码中 我想在按下按钮时垂直放大 这UIImage完全限制在故事板中 我想在按下按钮时更改其高度 我已经链接了UIImage及其在代码中的高度约束 IBOutlet weak var botBotCons NSLay
  • 当我不将 .Save() 的位图 .Dispose() 保存到 MemoryStream 时,为什么会出现内存泄漏?

    假设我创建了一个位图 Bitmap bitmap new Bitmap 320 200 当我将其写入某个流时 在我的例子中 它是一个 HttpResponseStream 由 HttpListenerResponse 给出 一切都很好 bi
  • Java机器人类mouseMove不去指定的位置

    老实说 我不完全确定出了什么问题 这是 if 和 if else 下的大量其他基本机器人命令动作的简短版本 每当我运行该程序时 鼠标应移动到指定位置并单击 但是 当我运行程序时 它不会移动到我指示的位置 而是每次运行时它都会移动到不同的位置