我试图在特定位置模拟鼠标单击,同时仍然能够控制鼠标。据我了解,我可以将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
答案 0 :(得分:0)
不确定如何同时使用鼠标进行两个处理,但是如果要使用坐标单击下面的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对象的完整详细信息。
让我知道以上答案是否有帮助。
答案 1 :(得分:0)
control_click
不使用鼠标光标。
mouse_click
使用鼠标光标。
control_click
自变量是:
"title", "text", "controlID" [, button [, clicks [, x [, y ]]]]
其中可选参数名称与**kwargs
对齐。
control_click
的PyAutoIt自变量为:
"title", "control" [, **kwargs]
其中**kwargs
是可选的命名参数。
**kwargs
接受命名参数。即text="some text in the window"
要点击控件,您可以使用
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
,否则将等于空字符串,在库中用""
表示,这是默认值。