概述
window接口主要是对win32窗口的操作,如激活、最大/最小化、显示/隐藏、改变大小、移动、获取详细信息等
详情
get_detail
获取窗口详细信息
get_detail(self, operation)
参数:
- operation:获取窗口信息, 如标题
- ‘title’:窗口标题
- ‘text’:窗口内容
- ‘process_name’:窗口进程名
返回值:
str
:返回窗口信息
示例1:
获取句柄为 0x01402c 的win32窗口的标题信息
from xbot import win32
def main(args):
wnd = win32.get_by_handle(0x01402c)
title = wnd.get_detail('title')
activate
激活窗口
activate(self)
参数:
- 无
返回值:
- 无
示例1:
激活句柄为 0x01402c 的win32窗口
from xbot import win32
def main(args):
wnd = win32.get_by_handle(0x01402c)
wnd.activate()
set_state
设置窗口状态
set_state(self, flag)
参数:
- flag:窗口的状态,如最大化、最小化
- ‘hide’:隐藏
- ‘show’:显示
- ‘minimize’:最小化
- ‘maximize’:最大化
- ‘restore’:还原
返回值:
- 无
示例1:
将标题为 新建文本 的窗口最小化
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
wnd.set_state('minimize')
move
将窗口移动到指定位置
move(self, *, x=0, y=0)
参数:
- x:指定位置的横坐标
- y:指定位置的纵坐标
返回值:
- 无
示例1:
将标题为 新建为本 的窗口移动到 x:100,y:100 位置
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
wnd.move(x=100, y=100)
resize
设置窗口大小
resize(self, *, width=1, height=1)
参数:
- width:窗口宽度
- height:窗口高度
返回值:
- 无
示例1:
设置标题为 新建文本 的窗口的宽度为 100 高度为 100
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
wnd.resize(width=100, height=100)
close
关闭窗口
close(self)
参数:
- 无
返回值:
- 无
示例1:
关闭标题为 新建文本 的窗口
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
wnd.close()
is_active
判断窗口是否是选中(激活)状态
is_active(self)
参数:
- 无
返回值:
bool
:返回当前窗口的选中状态, 选中返回True
,未选中返回False
示例1:
判断句柄为 0x01402c 的窗口是否是选中状态
from xbot import win32
def main(args):
wnd = win32.get_by_handle(0x01402c)
is_active = wnd.is_active()
wait_active
等待窗口选中(激活)
wait_active(self, timeout=20)
参数:
- timeout:等待窗口选中的超时时间,默认等待事件20s,超过该时间目标窗口还未被选中则抛出
UIAError
异常
返回值:
- 无
示例1:
等待句柄为 0x01402c 的窗口被激活
from xbot import win32
def main(args):
wnd = win32.get_by_handle(0x01402c)
wnd.wait_active(20)
wait_close
等待窗口关闭
wait_close(self, timeout=20)
参数:
- timeout:等待窗口关闭超时时间,默认超时时间为20s,超过该时间窗口还未关闭则抛出
UIAError
异
返回值:
bool
:如果窗口关闭了则返回True
,否则返回False
示例1:
等待标题为 新建文本 的窗口关闭
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
wnd.wait_close(20)
find_all
获取窗口中与选择器匹配的全部元素并返回元素列表
find_all(self, selector, *, timeout=20)
参数:
- selector:要查找的选择器,支持以下格式:
- 选择器名称:
st
类型 - 选择器对象:
Selector
类型
- 选择器名称:
- imeout:获取窗口相似元素列表超时时间,默认超时时间为20s
返回值:
List[Win32Element]
:返回窗口中与目标元素相似的元素列表
示例1:
在当前窗口中查找并返回所有和选择器 文件(F) 匹配的元素列表
from xbot import win32
def main(args):
elements = win32.get('新建文本').find_all('文件(F)')
find
获取窗口中与元素选择器匹配的元素
find(self, selector, *, timeout=20)
参数:
- selector:要查找的选择器,支持以下格式:
- 选择器名称:
st
类型 - 选择器对象:
Selector
类型
- 选择器名称:
- timeout:获取窗口相似元素超时时间,默认超时时间为20s,
返回值:
Win32Element
:返回窗口中与元素选择器匹配的元素
示例1:
在当前窗口中获取与选择器 文件(F) 匹配的元素并返回
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
element = wnd.find('文件(F)')
wait_appear
等待元素出现
wait_appear(self, selector_or_element, timeout=20)
参数:
- selector_or_element:要等待的目标元素, 支持以下格式:
- 选择器名称:
str
类型 - 选择器对象,
Selector
类型 - Win32元素对象:
Win32Element
类型 - timeout:在窗口中等待目标元素出现的超时时间,默认时间是20s
返回值:
bool
:如果目标元素在窗口中出现了则返回True
,否则返回False
示例1:
在当前窗口中等待与元素选择器 文件(F) 匹配的元素出现
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
wnd.wait_appear('文件(F)', 20)
wait_disappear
在当前窗口中等待目标元素或与元素选择器匹配的元素消失
wait_disappear(self, selector_or_element, timeout=20)
参数:
- selector_or_element:要等待的目标元素,支持以下格式:
- 选择器名称:
str
类型 - 选择器对象:
Selector
类型 - Win32元素对象:
Win32Element
类型
- 选择器名称:
- timeout:在窗口中等待目标元素消失的超时时间,,默认时间是20s
返回值:
bool
:如果目标元素在窗口中消失了则返回True
,否则返回False
示例1:
在当前窗口中等待与元素选择器 文件(F) 匹配的元素消失
from xbot import win32
def main(args):
wnd = win32.get('新建文本')
wnd.wait_disappear('文件(F)', 20)
contains_element
当前窗口中是否包含与元素选择器匹配的元素
contains_element(self, selector)
参数:
- selector:要查找的选择器,支持以下格式:
- 选择器名称:
st
类型 - 选择器对象:
Selector
类型
- 选择器名称:
返回值:
bool
:如果窗口包含目标元素则返回True
,否则返回False
示例1:
判断当前窗口中是否包含与元素选择器 文件(F) 匹配的元素
from xbot import win32
def main(args):
wnd = win32.get_by_handle(0)
contains_element = wnd.contains_element('文件(F)')
wait_focus
等待窗口获取焦点
wait_focus(self, timeout=20)
参数:
- timeout:等待窗口获取焦点的超时时间, 默认是20s, 如果超过该时间窗口还未获取焦点则返回
False
- 等于 0:不等待
- 大于 0:按时间等待
- 等于 -1:一直等待
返回值:
bool
:返回窗口是否获取焦点的结果, 获取到焦点返回True
,否则返回False
示例1:
等待元素 新建文本文档 所在的窗口获得焦点
from xbot import win32
def main(args):
hWnd = win32.get_by_selector('新建文本文档')
is_focus = hWnd.wait_focus()
wait_focusout
等待窗口失去焦点
wait_focus(self, timeout=20)
参数:
- timeout:等待窗口失去焦点的超时时间, 默认是20s, 如果超过该时间窗口还未失去焦点则返回
False
- 等于 0:不等待
- 大于 0:按时间等待
- 等于 -1:一直等待
返回值:
bool
:返回窗口是否失去焦点的结果, 失去到焦点返回True
,否则返回False
示例1:
等待元素 新建文本文档 所在的窗口失去焦点
from xbot import win32
def main(args):
hWnd = win32.get_by_selector('新建文本文档')
is_focus = hWnd.wait_focusout()
from xbot import win32
def main(args):
hWnd = win32.get_by_selector('新建文本文档')
is_focus = hWnd.wait_focus()