概述
win32接口主要分为三个类型
get(title=None, class_name=None, use_wildcard=False, *, timeout=5)
参数:
- title:指定的窗口标题
- class_name:指定的窗口类名
- use_wildcard:是否使用通配符进行匹配, 默认值为
False
使用模糊匹配 - timeout, 获取窗口对象超时时间, 默认值是5s, 如果超过改时间还未找到窗口在抛出
UIAError
的异常- 等于 0, 不等待
- 大于 0, 按时间等待
- 等于 -1, 一直等待
返回值:
Win32Window
:返回获取到的窗口对象列表
示例1:
获取标题包含 hello 的窗口对象 ```python from xbot import win32
def main(args): wnd = win32.get(‘hello’)
示例2:<br />使用通配符匹配,获取标题以 _hello _开头的窗口对象
```python
from xbot import win32
def main(args):
wnd = win32.get('hello*', None, True, False)
get_by_handle
通过窗口句柄获取窗口对象
get_by_handle(handle=None, *, timeout=5)
参数:
- handle:指定的窗口句柄获,如果不传默认获取当前激活的窗口
- timeout, 获取窗口对象超时时间, 默认值是5s, 如果超过改时间还未找到窗口在抛出
UIAError
的异常- 等于 0, 不等待
- 大于 0, 按时间等待
- 等于 -1, 一直等待
返回值:
Win32Window
:返回获取到的窗口对象
示例1:获取句柄为 0x01014A 的窗口对象
from xbot import win32
def main(args):
wnd = win32.get_by_handle(0x01014A)
get_by_selector
通过选择器获取窗口对象
get_by_selector(selector=None, *, timeout=5)
参数:
- selector:要查找的选择器,支持以下格式:
- 选择器名称:
str
类型 - 选择器对象:
Selector
类型
- 选择器名称:
- timeout, 获取窗口对象超时时间, 默认值是5s, 如果超过改时间还未找到窗口在抛出
UIAError
的异常- 等于 0, 不等待
- 大于 0, 按时间等待
- 等于 -1, 一直等待
返回值:**
Win32Window
:返回和选择器匹配的窗口对象
示例1:获取和选择器 窗格 匹配的窗口对象
from xbot import win32
def main(args):
wnd = win32.get_by_selector("窗格")
get_desktop
获取桌面对象
get_desktop()
参数:
- 无
返回值:
Win32Window
:返回获取到的桌面对象
实列1:获取电脑桌面对象
from xbot import win32
def main(args):
wnd = win32.get_desktop()
minimize_all
最小化全部窗口
minimize_all()
参数:
- 无
返回值:
- 无
**
实列1:最小化全部窗口
from xbot import win32
def main(args):
win32.minimize_all()
mouse_move
移动鼠标到指定位置
mouse_move(point_x:int, point_y:int, relative_to=’screen’, move_speed=’instant’, delay_after=1)
参数:
- point_x:指定坐标的横坐标, 为整数
- point_y:指定坐标的纵坐标, 为整数
- relative_to:指定坐标位置的相对对象, 默认相对于桌面移动
- ‘screen’:相对于桌面
- ‘currentActivatedWindow’:相对于当前打开(激活)的窗口
- ‘currentMousePosition’:相对于当前数据所在的位置
- move_speed, 移动鼠标到指定坐标的速度, 默认瞬间移动到目标坐标
- ‘instant’:瞬间
- ‘fast’:快速
- ‘middle’:中速
- ‘slow’:慢速
- delay_after:执行成功后延迟时间, 默认延迟1s**
返回值:
- 无
**
示例1:将鼠标慢速移动到相对于屏幕的 x:100, y:100 的坐标位置执行完成后延迟1s再继续往后执行
from xbot import win32
def main(args):
win32.mouse_move(100, 100, 'screen', 'slow', 1)
mouse_move_by_anchor
移动鼠标到指定位置
mouse_move_by_anchor(rectangle, anchor=None, relative_to=’screen’, move_speed=’instant’, delay_after=1)
参数:
- rectangle, 需要悬浮的目标矩形范围,格式为 (x, y, width, height)
- anchor, 锚点位置,默认值为 (‘middleCenter’, 0, 0),表示悬浮在范围的中心,不偏移
- relative_to:指定坐标位置的相对对象, 默认相对于桌面移动
- ‘screen’:相对于桌面
- ‘window’:相对于当前打开(激活)的窗口
- ‘position’:相对于当前数据所在的位置
- move_speed, 移动鼠标到指定坐标的速度, 默认瞬间移动到目标坐标
- ‘instant’:瞬间
- ‘fast’:快速
- ‘middle’:中速
- ‘slow’:慢速
- delay_after:执行成功后延迟时间, 默认延迟1s**
返回值:
- 无
**
示例1:将鼠标慢速移动到相对于屏幕的目标矩形(0, 0, 200, 200)的中间位置执行完成后延迟1s再继续往后执行
from xbot import win32
def main(args):
win32.mouse_move_by_ahchor((0, 0, 200, 200), ('middleCenter', 0, 0), 'screen', 'slow', 1)
send_keys
模拟键盘输入输入指定键盘按键, 可包含快捷键
send_keys(keys=’’, send_key_delay=50, hardware_driver_input=False, delay_after=1)
参数:
- keys:要模拟输入的键盘按键
- send_key_delay:两次按键之间的时间间隔,默认为50ms(毫秒)
- hardware_driver_input:是否通过硬件驱动的方式输入
- delay_after:执行成功后延迟时间, 默认延迟1s
返回值:
- 无
**
示例1:模拟键盘输入 helloword
from xbot import win32
def main(args):
win32.send_keys('helloword{enter}', 5, 1)
实列2:模拟键盘进行回车操作
from xbot import win32
def main(args):
win32.send_keys('{enter}', 5 ,1)
mouse_click
模拟鼠标点击, 如鼠标左键单击、左键双击等
mouse_click(button=’left’, click_type=’click’, hardware_driver_click=False, keys=’none’, delay_after=1)
参数:
- button:要点击的鼠标按键, 默认为左键
- ‘left’:鼠标左键
- ‘right’:鼠标右键
- click_type:鼠标按键的点击方式, 如单击、双击等, 默认为单击
- ‘click’:鼠标单击
- ‘dbclick’:鼠标双击
- ‘down’:鼠标按键按下
- ‘up’:鼠标按键弹起
- hardware_driver_input:是否通过硬件驱动的方式输入
- keys:点击鼠标时的键盘辅助按钮,可以为空,默认为空
- ‘none’:无键盘辅助按钮
- ‘alt’:使用alt键作为辅助按键
- ‘ctrl’:使用ctrl键作为辅助按键
- ‘shift’:使用shift键作为辅助按键
- ‘win’:使用win(窗口)键作为辅助按键
- delay_after:执行成功后延迟时间, 默认延迟1s
返回值:
- 无
**
示例1:相对于屏幕的目标矩形(0, 0, 200, 200)的中间位置然后双击鼠标左键
from xbot import win32
def main(args):
win32.mouse_click('left', 'dbclick', 'alt', 1)
mouse_click_by_anchor
模拟鼠标点击, 如鼠标左键单击、左键双击等
mouse_click_by_anchor(rectangle, anchor=None, button=’left’, click_type=’click’, keys=’none’, hardware_driver_click=False, delay_after=1, move_mouse=True)
参数:
- rectangle:需要点击的目标矩形范围,格式为 (x, y, width, height)
- anchor, 锚点位置,默认值为 (‘middleCenter’, 0, 0),表示悬浮在范围的中心,不偏移
- button:要点击的鼠标按键, 默认为左键
- ‘left’:鼠标左键
- ‘right’:鼠标右键
- click_type:鼠标按键的点击方式, 如单击、双击等, 默认为单击
- ‘click’:鼠标单击
- ‘dbclick’:鼠标双击
- ‘down’:鼠标按键按下
- ‘up’:鼠标按键弹起
- keys:点击鼠标时的键盘辅助按钮,可以为空,默认为空
- ‘none’:无键盘辅助按钮
- ‘alt’:使用alt键作为辅助按键
- ‘ctrl’:使用ctrl键作为辅助按键
- ‘shift’:使用shift键作为辅助按键
- ‘win’:使用win(窗口)键作为辅助按键
- hardware_driver_input:是否通过硬件驱动的方式输入
- delay_after:执行成功后延迟时间, 默认延迟1s
- move_mouse:是否显示鼠标移动轨迹, 默认为
True
,显示鼠标移动轨迹
返回值:
- 无
**
示例1:移动鼠标到相对于屏幕的目标矩形(0, 0, 200, 200)的中间位置按下键盘 Alt 键然后双击鼠标左键
from xbot import win32
def main(args):
win32.mouse_click_by_anchor((0, 0, 200, 200), ('middleCenter', 0, 0), 'left', 'dbclick', 'alt', False, 1)
mouse_wheel
模拟鼠标滚轮滚动, 默认往下滚动
mouse_wheel(wheel_direction=’down’, wheel_times=1, keys=’none’, delay_after=1)
参数:
- wheel_direction:鼠标滚轮滚动方向, 默认往下滚动
- ‘up’:往上滚动鼠标滚轮
- ‘down’:往下滚动鼠标滚轮
- wheel_times:滚动鼠标滚轮次数,默认滚动1次
- keys:滚动鼠标滚轮时的键盘辅助按钮,可以为空,默认为空
- ‘none’:无键盘辅助按钮
- ‘alt’:使用
alt
键作为辅助按钮 - ‘ctrl’:使用
ctrl
键作为辅助按钮 - ‘shift’:使用
shift
键作为辅助按钮 - ‘win’:使用win(窗口)键作为辅助按钮
- delay_after:执行成功后延迟时间, 默认延迟1s
返回值:
- 无
实列1:按住键盘 Alt 键然后往下滚动鼠标滚轮 3 次
from xbot import win32
def main(args):
win32.mouse_wheel('down', 3, 'alt', 1)
get_mouse_position
获取鼠标相对于桌面/当前选中(激活)的窗的坐标位置
get_mouse_position(relative_to=’screen’)
参数:
- relative_to, 鼠标滚轮滚动方向, 默认往下滚动
- ‘screen’:相对于桌面的位置
- ‘currentactivatedwindow’:相对于当前选中(激活)窗口的位置
返回值:
tuple
:返回一组坐标值
实列1:获取鼠标相对于桌面的坐标
from xbot import win32
def main(args):
position = win32.get_mouse_position('screen')
exists
判断窗口是否存在
exists(window)
参数:
- window:Win32Window对象
返回值:
bool
:返回窗口的存在窗台,存在返回True
,否则返回False
示例1:
获取标题叫做 新建文本 的窗口对象并判断窗口是否存在
import xbot
def main(args):
wnd = xbot.win32.get('新建文本')
is_exists = xbot.win32.exists(wnd)
get_selected_text
获取当前激活窗口选中的文本
get_selected_text()
参数:
- 无
**
str
:返回当前激活窗口选中的文本
示例1:
获取当前激活窗口选中的文本。
from xbot import win32
def main(args):
s = win32.get_selected_text()
lock_screen
屏幕锁屏
lock_screen()
参数:
- 无
返回值:
- 无
示例1:
屏幕锁屏.
from xbot import win32
def main(args):
win32.lock_screen()
unlock_screen
屏幕解锁
unlock_screen(user_name, password)
参数:
- user_name:用户名
- password:密码
返回值:
- 无
示例1:
用用户名”admin”\密码”123456”解锁屏幕
from xbot import win32
def main(args):
win32.unlock('admin', '123456')
set_ime
设置指定窗口的输入法
set_ime(lang)
参数:
- lang:语言名称,取值为“chinese”、“english”
返回值:
- 无
示例1:
设置当前激活窗口输入法为英文输入法
from xbot import win32
def main(args):
win32.set_ime('english')
get_ime
获取当前激活窗口的输入法的中英文状态
get_ime()
参数:
- 无
返回值:
str
:unknow:未知;english:英文输入状态;chinese:中文输入状态
示例1:
获取当前激活窗口的输入法的中英文输入状态
from xbot import win32
def main(args):
ime = win32.get_ime()