keyboard - press - ¿Cómo enviar “Ctrl+c” en Sikuli?
sikulix enter (10)
Además, asegúrese de que NUM_LOCK esté desactivado. Si NUM_LOCK está activado, puede hacer que cualquier cosa con KeyModifier.CTRL o KeyModifier.SHIFT se comporte mal.
Parece que debería ser bastante fácil, pero no puedo encontrar documentación sobre cómo hacer esto:
Solo quiero que Sikuli escriba Ctrl + C para copiar texto al portapapeles.
type(KEY_CTRL+''c'')
no funciona y tampoco funciona type(KEY_CTRL,''c'')
.
¿Alguna sugerencia?
Como otros han mencionado, use lo siguiente:
type(''c'', Key.CTRL) # Copy command
Un punto que vale la pena mencionar: no utilice mayúsculas, es decir:
type(''C'', Key.CTRL) # Does not copy, avoid this
No he buscado en el código fuente de Sikuli, pero mi mejor conjetura es que envía esto implícitamente como Shift+C
, lo que da como resultado un comando completamente diferente.
El escenario es como necesito presionar la tecla E en mi teclado después de terminar la prueba cómo agregar esto en el script en Sikuli IDE.
El uso de type () y los posibles nombres de clave se documentan aquí:
Intente usar type("c",KEY_CTRL)
lugar.
Escribí un script simple que escribe una línea en el bloc de notas, hace doble clic en él para marcarlo y luego presiona ctrl + x ctrl + v nuevamente en el documento. Funciona genial.
openApp("notepad.exe")
find("textfield.png" )
type("Some text")
doubleClick("theText.png")
type("x", KEY_CTRL)
click("theTextField.png" )
type("v",KEY_CTRL)
Los objetos clave se definen para casi todas las teclas modificadoras y las teclas del teclado numérico. De todas formas, debería verse algo como esto.
keyDown (Key.CTRL)
tipo (''c'')
keyUp (Key.CTRL)
Los siguientes trabajos en 0.9 y nuevas versiones de sikuli
type(''x'', KeyModifier.CTRL)
Puedes probar el siguiente código:
keyDown(Key.CTRL)
type("c")
keyUp(Key.CTRL)
Tenía un requisito para automatizar un contenido flash. El siguiente código funcionó para mí. Estos fueron los siguientes pasos que debo realizar como parte de la automatización:
- Introduzca su nombre de usuario y contraseña
- Haga clic en el botón Iniciar sesión
- Haz clic en el botón que te llevará a la aplicación.
El desafío al que me enfrenté era centrarme en el nombre de usuario y la contraseña que no tenían marcadores de posición. Por lo tanto, el enfoque fue difícil. Así que usé las teclas CTRL para hacer esto.
Pattern appLogo = new Pattern("C://images//appLogo.png");
StringSelection userNameText = new StringSelection("username");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(userNameText, null);//Copy the text into the memory
Screen s = new Screen();
s.find(appLogo);
s.click(appLogo);
s.type(Key.TAB);//I had to enter tab twice to focus on user name textbox
s.type(Key.TAB);
s.type("V",KeyModifier.CTRL);
StringSelection password = new StringSelection("password");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(password, null);
s.type(Key.TAB);//I had to enter tab twice to focus on user name textbox
s.type("V",KeyModifier.CTRL);
Pattern loginButton = new Pattern("C://images//Login.png");
s.find(loginButton);
s.doubleClick(loginButton);
type (''x'', Key.CTRL) también funciona.