gpt4 book ai didi

java - 如何执行移动鼠标和点击 Action ?

转载 作者:行者123 更新时间:2023-11-30 10:55:46 25 4
gpt4 key购买 nike

我的目标是将鼠标移动到

1) 滚动条区域和
2) 单击使滚动条向下移动。

我正在使用 Robot 类执行移动鼠标操作,但无法单击滚动条区域。

Robot rb=new Robot();
rb.mouseMove(1135,400);
Thread.sleep(5000);
Actions act=new Actions(driver);
act.click().perform();

请帮我解决这个问题。

最佳答案

好的,这是一个非常通用的演示。您可以轻松地使其适应您的需要。如果你想在滚动中使用不同的高度,你必须考虑到滚动 Pane 越高我使用的时间(一秒)会越大。但是,对于通用的,您可以检测滚动 Pane 何时位于底部并且不再调用计时器。我评论了您可以用来使其通用的部分。

import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.Dimension;

import java.awt.Robot;
import java.awt.event.InputEvent;

public class Stackoverflow extends JFrame{
private java.util.Timer timer;
private JFrame window;
public static void main(String [] args){
new Stackoverflow();
}
public Stackoverflow(){
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(500, 2000));
panel.setOpaque(false);


this.window = this;
this.timer = new java.util.Timer();
timer.schedule(new AutoSaveTasker(), 1000);

this.add(new JScrollPane(panel));
this.pack();
this.setVisible(true);
}
class AutoSaveTasker extends TimerTask{
@Override
public void run(){
/*
if(scroll not at the bottom yet?)
then call timer again like this /timer.schedule(new AutoSaveTasker(), INTERVAL);
*/
try{

Robot robot = new Robot();
robot.mouseMove(window.getWidth() - 10, window.getHeight() - 10);
robot.mousePress(InputEvent.BUTTON1_MASK);
Thread.sleep(1000);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
catch(Exception e){
e.printStackTrace();
}

}
}
}

关于java - 如何执行移动鼠标和点击 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33228101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com