概述

window接口主要是对win32窗口的操作,如激活、最大/最小化、显示/隐藏、改变大小、移动、获取详细信息等

详情


get_detail

获取窗口详细信息

get_detail(self, operation)
参数:

  • operation:获取窗口信息, 如标题
    • ‘title’:窗口标题
    • ‘text’:窗口内容
    • ‘process_name’:窗口进程名

返回值:

  • str:返回窗口信息

示例1:
获取句柄为 0x01402c 的win32窗口的标题信息

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get_by_handle(0x01402c)
  4. title = wnd.get_detail('title')

activate

激活窗口

activate(self)
参数:

返回值:

示例1:
激活句柄为 0x01402c 的win32窗口

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get_by_handle(0x01402c)
  4. wnd.activate()

set_state

设置窗口状态

set_state(self, flag)
参数:

  • flag:窗口的状态,如最大化、最小化
    • ‘hide’:隐藏
    • ‘show’:显示
    • ‘minimize’:最小化
    • ‘maximize’:最大化
    • ‘restore’:还原

返回值:

示例1:
将标题为 新建文本 的窗口最小化

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. wnd.set_state('minimize')

move

将窗口移动到指定位置

move(self, *, x=0, y=0)
参数:

  • x:指定位置的横坐标
  • y:指定位置的纵坐标

返回值:

示例1:
将标题为 新建为本 的窗口移动到 x:100,y:100 位置

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. wnd.move(x=100, y=100)

resize

设置窗口大小

resize(self, *, width=1, height=1)
参数:

  • width:窗口宽度
  • height:窗口高度

返回值:

示例1:
设置标题为 新建文本 的窗口的宽度为 100 高度为 100

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. wnd.resize(width=100, height=100)

close

关闭窗口

close(self)
参数:

返回值:

示例1:
关闭标题为 新建文本 的窗口

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. wnd.close()

is_active

判断窗口是否是选中(激活)状态

is_active(self)
参数:

返回值:

  • bool:返回当前窗口的选中状态, 选中返回True,未选中返回False

示例1:
判断句柄为 0x01402c 的窗口是否是选中状态

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get_by_handle(0x01402c)
  4. is_active = wnd.is_active()

wait_active

等待窗口选中(激活)

wait_active(self, timeout=20)
参数:

  • timeout:等待窗口选中的超时时间,默认等待事件20s,超过该时间目标窗口还未被选中则抛出UIAError异常

返回值:

示例1:
等待句柄为 0x01402c 的窗口被激活

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get_by_handle(0x01402c)
  4. wnd.wait_active(20)

wait_close

等待窗口关闭

wait_close(self, timeout=20)
参数:

  • timeout:等待窗口关闭超时时间,默认超时时间为20s,超过该时间窗口还未关闭则抛出UIAError

返回值:

  • bool:如果窗口关闭了则返回True,否则返回False

示例1:
等待标题为 新建文本 的窗口关闭

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. wnd.wait_close(20)

find_all

获取窗口中与选择器匹配的全部元素并返回元素列表

find_all(self, selector, *, timeout=20)
参数:

  • selector:要查找的选择器,支持以下格式:
    • 选择器名称:st 类型
    • 选择器对象:Selector 类型
  • imeout:获取窗口相似元素列表超时时间,默认超时时间为20s

返回值:

  • List[Win32Element]:返回窗口中与目标元素相似的元素列表

示例1:
在当前窗口中查找并返回所有和选择器 文件(F) 匹配的元素列表

  1. from xbot import win32
  2. def main(args):
  3. elements = win32.get('新建文本').find_all('文件(F)')

find

获取窗口中与元素选择器匹配的元素

find(self, selector, *, timeout=20)
参数:

  • selector:要查找的选择器,支持以下格式:
    • 选择器名称:st 类型
    • 选择器对象:Selector 类型
  • timeout:获取窗口相似元素超时时间,默认超时时间为20s,

返回值:

  • Win32Element:返回窗口中与元素选择器匹配的元素

示例1:
在当前窗口中获取与选择器 文件(F) 匹配的元素并返回

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. 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) 匹配的元素出现

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. 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) 匹配的元素消失

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get('新建文本')
  4. wnd.wait_disappear('文件(F)', 20)

contains_element

当前窗口中是否包含与元素选择器匹配的元素

contains_element(self, selector)
参数:

  • selector:要查找的选择器,支持以下格式:
    • 选择器名称:st 类型
    • 选择器对象:Selector 类型

返回值:

  • bool:如果窗口包含目标元素则返回True,否则返回False

示例1:
判断当前窗口中是否包含与元素选择器 文件(F) 匹配的元素

  1. from xbot import win32
  2. def main(args):
  3. wnd = win32.get_by_handle(0)
  4. contains_element = wnd.contains_element('文件(F)')

wait_focus

等待窗口获取焦点

wait_focus(self, timeout=20)
参数:

  • timeout:等待窗口获取焦点的超时时间, 默认是20s, 如果超过该时间窗口还未获取焦点则返回 False
    • 等于 0:不等待
    • 大于 0:按时间等待
    • 等于 -1:一直等待

返回值:

  • bool:返回窗口是否获取焦点的结果, 获取到焦点返回 True,否则返回 False

示例1:
等待元素 新建文本文档 所在的窗口获得焦点

  1. from xbot import win32
  2. def main(args):
  3. hWnd = win32.get_by_selector('新建文本文档')
  4. is_focus = hWnd.wait_focus()

wait_focusout

等待窗口失去焦点

wait_focus(self, timeout=20)
参数:

  • timeout:等待窗口失去焦点的超时时间, 默认是20s, 如果超过该时间窗口还未失去焦点则返回 False
    • 等于 0:不等待
    • 大于 0:按时间等待
    • 等于 -1:一直等待

返回值:

  • bool:返回窗口是否失去焦点的结果, 失去到焦点返回 True,否则返回 False

示例1:
等待元素 新建文本文档 所在的窗口失去焦点

  1. from xbot import win32
  2. def main(args):
  3. hWnd = win32.get_by_selector('新建文本文档')
  4. is_focus = hWnd.wait_focusout()


  1. from xbot import win32
  2. def main(args):
  3. hWnd = win32.get_by_selector('新建文本文档')
  4. is_focus = hWnd.wait_focus()