Ich versuche, mein root-Passwort wiederherzustellen, indem ich automatisch eine laufende Oracle VM VirtualBox eintippe. Ich habe versucht, Java.awt.robot und pyautogui zu verwenden, um die Aufgabe abzuschließen.Autotyper (pyautogui, java.awt.robot) funktioniert nicht auf einer Oracle VM VirtualBox
Beide sind erfolgreich in der Lage, auf die VM zu klicken, und beide können in ein Word-Dokument auf meinem tatsächlichen Computer eingeben, aber keine Tastenanschläge werden von der VM interpretiert (wo mein Problem auftritt).
Ich habe Auto Capture Keyboard jetzt ausgeschaltet, funktioniert aber immer noch nicht.
Python-Version:
import pyautogui
# location of where I am putting the console
pyautogui.moveTo(589, 973)
pyautogui.click()
pyautogui.typewrite('Hello, world')
pyautogui.press('enter')
Java-Version:
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
public class Main {
public static void main(String[] args) throws Exception {
Robot robot = new Robot();
// location of where I am putting the console
robot.mouseMove(589, 973);
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
// testing to see if the enter key will work
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}
}
Beide Versionen werden die VM klicken, aber noch wird darin etwas geben noch drücken Enter-Taste
Ist das eine alberne Art zu versuchen, in die VM einzutippen? Gibt es eine einfachere Methode zum Senden von Eingaben und Tastenanschlägen an eine VM? Was mache ich falsch, damit die Eingabe nicht in die VM eintippt?
(Suche nicht einfach Strg-D drücken, um das Passwort zu umgehen.)
Kurz Video davon auf einem lokalen Dokument arbeiten, aber nicht auf VM: https://www.youtube.com/watch?v=sM9dVjzzEbI&feature=youtu.be
Herzlichen Glückwunsch, niemand anderes beantwortete die Frage. Also bekommst du die Punkte standardmäßig. – Brandon