Какой самый простой способ симулировать клавиатуру и мышь на Python?

Как сказано, использование памяти не может быть получено, поскольку это атрибут процесса в целом, но использование ЦП:

Process p = Process.GetCurrentProcess(); // getting current running process of the app
foreach (ProcessThread pt in p.Threads)
{
    // use pt.Id / pt.TotalProcessorTime / pt.UserProcessorTime / pt.PrivilegedProcessorTime
}
23
задан Nakilon 20 September 2013 в 15:54
поделиться

5 ответов

Я занимаюсь автоматизированным тестированием на Python. Я склонен использовать следующее:

http://www.tizmoi.net/watsup/intro.html
Изменить: Ссылка не работает, архивная версия: https://web.archive.org/web/20100224025508/http://www.tizmoi.net/watsup/intro.html

http://www.mayukhbose.com/python/IEC/index.php

Я не всегда (почти никогда) не симулирую нажатия клавиш и движения мыши. Обычно я использую COM для установки значений объектов Windows и вызова их методов .click ().

Вы можете отправлять сигналы нажатия клавиш следующим образом:

import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("^a") # CTRL+A may "select all" depending on which window's focused
shell.SendKeys("{DELETE}") # Delete selected text?  Depends on context. :P
shell.SendKeys("{TAB}") #Press tab... to change focus or whatever

Это все в Windows. Если вы находитесь в другой среде, я понятия не имею.

26
ответ дан dagur 20 September 2013 в 15:54
поделиться

Вы можете использовать библиотеку PyAutoGUI для Python, которая работает в Windows, macOS и Linux.

Мышь

Вот простой код для перемещения мыши в середину экрана:

import pyautogui
screenWidth, screenHeight = pyautogui.size()
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)

Страница документов: Функции управления мышью .

Связанный вопрос: Управление мышью с помощью Python .

Клавиатура

Пример:

pyautogui.typewrite('Hello world!')                 # prints out "Hello world!" instantly
pyautogui.typewrite('Hello world!', interval=0.25)  # prints out "Hello world!" with a quarter second delay after each character

Страница документов: Функции управления клавиатурой .


More reading: Управление клавиатурой и мышью с помощью GUI Automation (глава 18 электронной книги).

Смежные вопросы:

0
ответ дан kenorb 20 September 2013 в 15:54
поделиться

pyautogui - отличный пакет для отправки клавиш и автоматизации нескольких задач, связанных с клавиатурой / мышью. Ознакомьтесь с Управлением клавиатурой и мышью с помощью GUI Automation и в документации PyAutoGUI .

7
ответ дан Mitesh Budhabhatti 20 September 2013 в 15:54
поделиться

Может быть, вы ищете Sendkeys ?

SendKeys - это модуль Python для Windows, который может отправлять одно или несколько сочетаний клавиш или сочетаний клавиш в активное окно.

кажется, что это только окна

Также у вас есть pywinauto (скопировано из моего SO ответ )

pywinauto - это набор модулей с открытым исходным кодом (LGPL) для использования Python в качестве «драйвера» автоматизации графического интерфейса для операционных систем на базе Windows NT (NT / W2K / XP).

и пример с веб-страницы

> from pywinauto import application
> app = application.Application.start("notepad.exe")
> app.notepad.TypeKeys("%FX")
> app.Notepad.MenuSelect("File->SaveAs")
> app.SaveAs.ComboBox5.Select("UTF-8")
> app.SaveAs.edit1.SetText("Example-utf8.txt")
> app.SaveAs.Save.Click()
15
ответ дан Community 20 September 2013 в 15:54
поделиться

Может быть, вы ищете Sendkeys ?

SendKeys - это модуль Python для Windows, который может отправлять одно или несколько сочетаний клавиш или сочетаний клавиш в активное окно.

кажется, что это только окна

Также у вас есть pywinauto (скопировано из моего SO ответ )

pywinauto - это набор модулей с открытым исходным кодом (LGPL) для использования Python в качестве «драйвера» автоматизации графического интерфейса для операционных систем на базе Windows NT (NT / W2K / XP).

и пример с веб-страницы

> from pywinauto import application
> app = application.Application.start("notepad.exe")
> app.notepad.TypeKeys("%FX")
> app.Notepad.MenuSelect("File->SaveAs")
> app.SaveAs.ComboBox5.Select("UTF-8")
> app.SaveAs.edit1.SetText("Example-utf8.txt")
> app.SaveAs.Save.Click()
15
ответ дан Community 20 September 2013 в 15:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: