Python: PyAutoIt: control_click - PullRequest
       11

Python: PyAutoIt: control_click

0 голосов
/ 16 января 2019

Я пытаюсь смоделировать щелчок мышью в определенном месте, но при этом могу управлять мышью. Насколько я понимаю, я могу использовать библиотеку pyautoit с командой control_click, чтобы сделать это.

Например, я хочу щелкнуть по месту (1097, 832), но хочу все еще использовать мышь, когда происходит это действие.

Единственный пример, который я видел при использовании этой команды в python, приведен в приведенном ниже коде.

import autoit

autoit.run("notepad.exe")
autoit.win_wait_active("[CLASS:Notepad]", 3)
autoit.control_send("[CLASS:Notepad]", "Edit1", "hello world{!}")
autoit.win_close("[CLASS:Notepad]")
autoit.control_click("[Class:#32770]", "Button2")

Это функция из библиотеки

def control_click(title, control, **kwargs):
    """
    :param title:
    :param text:
    :param control:
    :param button:
    :param clicks:
    :param x:
    :param y:
    :return:
    """
    text = kwargs.get("text", "")
    button = kwargs.get("button", "left")
    clicks = kwargs.get("clicks", 1)
    x = kwargs.get("x", INTDEFAULT)
    y = kwargs.get("y", INTDEFAULT)

    ret = AUTO_IT.AU3_ControlClick(LPCWSTR(title), LPCWSTR(text),
                                   LPCWSTR(control), LPCWSTR(button),
                                   INT(clicks), INT(x), INT(y))
    return ret

Ответы [ 2 ]

0 голосов
/ 16 января 2019

control_click не использует курсор мыши.

mouse_click использует курсор мыши.

control_click аргументы из AutoItX.chm файла справки:

"title", "text", "controlID" [, button [, clicks [, x [, y ]]]]

из которых имена необязательных аргументов совпадают с **kwargs.

PyAutoIt аргументы из библиотеки для control_click:

"title", "control" [, **kwargs]

где **kwargs - необязательные именованные аргументы.

**kwargs принимает именованные аргументы. т.е. text="some text in the window"

Чтобы щелкнуть в элементе управления, вы можете использовать i.e:

autoit.control_click("[CLASS:Notepad]", "Edit1", x=1097, y=832)

В библиотеке выложили код, названия для **kwargs:

text = kwargs.get("text", "")
button = kwargs.get("button", "left")
clicks = kwargs.get("clicks", 1)
x = kwargs.get("x", INTDEFAULT)
y = kwargs.get("y", INTDEFAULT)

Он хранится в виде словаря, и для получения значения используется метод .get. Если вы передадите text="some text in the window", то text равно some text in the window, иначе будет равна пустой строке, представленной в библиотеке "", что является значением по умолчанию.

0 голосов
/ 16 января 2019

Не уверен, как вы можете использовать мышь для двух процессов одновременно, но если вы хотите использовать ординаты для щелчка мышью в любой конкретной области, используя python и autoit ниже, это код для вашей справки.

import autoit

autoit.run("notepad.exe")
autoit.win_wait_active("[CLASS:Notepad]", 3)
autoit.control_send("[CLASS:Notepad]", "Edit1", "hello world{!}")
autoit.win_close("[CLASS:Notepad]")
autoit.mouse_click("left",272,70)

Выше кода будет левой кнопкой мыши на Не сохранять кнопку. Если у вас установлено autoit, вы можете использовать AutoIt Window info(x86) или AutoIt Window info(x64), чтобы получить полную информацию об объектах Windows.

дайте мне знать, если ответ выше полезен или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...