2 Stimmen

Wie man programmatisch einen Mausklick auf einer Seite auslöst

Ich habe gerade meine erste Anwendung mit WebView wie folgt ausgeführt:

WebView browser = new WebView();
WebEngine webEngine = browser.getEngine();
webEngine.load("http://localhost:8080/my/page.jsp");

Ist es möglich, mit JavaFX programmgesteuert auf die geöffnete Seite mit X- und Y-Koordinaten in Bezug auf die WindView-Ansicht zu klicken?

1voto

BevynQ Punkte 8054

JavaFX hat noch keinen schönen Weg, Mausereignisse zu generieren

aber du kannst java.awt.Robot verwenden

try{
  Robot robby = new Robot();
//Bewegung der Maus zur Klickposition
  robby.mouseMove(1000, 550); 
// und klicken
  robby.mousePress(InputEvent.BUTTON1_MASK);
  robby.mouseRelease(InputEvent.BUTTON1_MASK);
}catch (AWTException ex){
  ex.printStackTrace();
}

1voto

EverNight Punkte 964
HTMLInputElement x = (HTMLInputElement) webEngine.getDocument().getElementsByTagName("input").item(0);

Dies gibt eine Instanz von org.w3c.dom.html.HTMLInputElement zurück, die die Methode .click() eingebaut hat... die einen Klick simuliert.

Dies ermöglicht es Ihnen, den Klick zu simulieren.

0voto

jewelsea Punkte 139897

Java 8 fügt die Möglichkeit hinzu, ein MouseEvent zu konstruieren, das Sie über einen EventDispatcher versenden oder an ein Fenster senden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X