xbot.win32.Window

概述

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_exists

等待窗口出现

wait_exists(self, timeout=20)

参数

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

返回值

  • bool:如果窗口出现了则返回True,否则返回False

示例1

等待句柄为 0x01402c 的窗口出现

from xbot import win32

def main(args):
    wnd = win32.get_by_handle(0x01402c)
    wnd.wait_exists(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 类型
  • timeout:获取窗口相似元素列表超时时间,默认超时时间为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()
问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""