vbscript - sendwait - sendkeys.send( tab)c#
¿Cómo uso WScript.Shell SendKeys para enviar pulsaciones de teclas numéricas? (3)
Estoy tratando de usar el método WScript.Shell SendKeys para emular el envío de una tecla presionada desde el teclado numérico.
Tengo una aplicación que estoy escribiendo pruebas automatizadas para usar QTP. Es una aplicación basada en el navegador web y la entrada es en una aplicación Java dentro de la página web. La entrada solo acepta presionar teclas desde el teclado numérico y la tecla Intro.
Hasta ahora estoy usando este código:
Dim strInputKey
strInputKey = "{ENTER}"
Set objWsh = CreateObject("WScript.Shell")
Browser("Launch Browser").Page("Test Application").WebElement("Item ID").Click
objWsh.SendKeys strInputKey
Esto funciona bien para enviar la tecla Enter, pero no puedo entender si hay alguna forma de enviar Number Keys. Cualquier ayuda sería muy apreciada.
No estoy seguro de si hay alguna forma no documentada de lograr esto. He leído http://msdn.microsoft.com/en-us/library/8c6yea83(VS.85).aspx pero no entra en gran detalle.
Gracias por adelantado,
- Brent
Tendrá que usar los códigos de tecla para el teclado numérico.
Aquí hay una lista de ellos: http://www.empirisoft.com/directrt/help/_helpcontents.htm?directrt_key_codes.htm
Entonces, para enviar "123", necesitarías hacer:
objWsh.SendKeys chr(79) & chr(80) & chr(81)
No tengo el representante para comentar la respuesta anterior que dice objWsh.SendKeys chr (79) y chr (80) y chr (81)
pero no creo que sea correcto
objWsh.SendKeys chr (79) y chr (80) y chr (81)
Para empezar, envía las letras O, P, Q y quiere números, como 1234567890
y el enlace va a los códigos de escaneo del teclado. Creo que esos son para saber qué tecla del teclado se presionó. Son diferentes de los códigos ascii.
79,80,81 son los códigos de escaneo del teclado para algunos números en el teclado numérico / teclado numérico.
Sin embargo, Chr usa códigos ascii. no códigos de escaneo de teclado
Además, solo especificando un dígito, aquí, ya que no se hace presionando una tecla, no especifica y no necesita especificar, cuál fue la clave que se usó, ya que no se usó una tecla.
Enviar a Keys algunos números (desde el teclado numérico) es lo mismo que enviar claves desde la fila superior. Solo quieres enviar algunos números.
Si todo lo que quiere saber es cómo usar sendkeys para enviar dígitos, obviamente.
objWsh.SendKeys 12345 o str = "12345" objWsh.SendKeys str
Pero si el interlocutor no se dio cuenta de que objWsh.SendKeys 12345 lo haría, entonces quizás el que pregunta está confundido. Supongo que desde la marca verde, votó una respuesta que es como objWsh.SendKeys "OPQ".
Soy consciente de que esta es una vieja pregunta, pero por el hecho de tener preguntas y respuestas correctas.
Dim objWsh
Set objWsh = CreateObject("WScript.Shell")
Browser("Browser").Page("Page_5").WebEdit("txnConfiguration.criteriaName").Click
objWsh.SendKeys ("123")
Browser("Browser").Page("Page_5").WebEdit("txnConfiguration.criteriaName").Set "12345"
el código anterior ingresará el número "12345" en el cuadro de texto mediante el método sendkeys