У меня есть powershell script, который откроет веб-страницу (Selenium) и настроит фокус на поле "Сообщение". Теперь я хочу моделировать Ctrl + V для вставки моих данных из буфера обмена. Есть ли способ сделать это в чистой powershell? Также будет полезен код С#, который может использоваться в функции powershell.
Как отправить CTRL или ALT + любой другой ключ?
Ответ 1
Вы можете отправить комбинацию клавиш-модификаторов Ctrl + C следующим образом:
[void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
[System.Windows.Forms.SendKeys]::SendWait("^{c}")
Из статьи Преобразование Windows Script Метод SendKeys хоста
Ключи-модификаторы:
Key | Code
-----------
SHIFT +
CTRL ^
ALT %
Другие ключи, которые могут вам понадобиться:
Key | Code
-----------
BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER}or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
Keypad add {ADD}
Keypad subtract {SUBTRACT}
Keypad multiply {MULTIPLY}
Keypad divide {DIVIDE}
Ответ 2
Немного сух, чтобы читать, но, возможно, чтение документов С# при использовании того, что в буфере обмена может помочь:
http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard%28v=vs.110%29.aspx