如何访问 pywinauto.controls.hwndrapper.rectangle 中左、上的值?

How to access the values left, top individually in pywinauto.controls.hwndrapper.rectangle?

在 pywinauto.rectangle() 上,我得到 window 在屏幕上的位置,我 set_focus(),在 client_rect() 上,我得到的大小window.

我想抓取屏幕上 window 位置的左侧和顶部以及 window 大小的宽度和高度。

我设法用不同的函数获得宽度和高度: w=pywinauto.win32structures.RECT.width(client_rect) h=pywinauto.win32structures.RECT.height(client_rect)

但是我无法访问左侧和顶部。


app = controls.hwndwrapper.HwndWrapper(title)
rect = app.rectangle()
# print out
rect (L1293, T6, R1851, B1026)
rect type <class 'pywinauto.win32structures.RECT'>


app = controls.hwndwrapper.HwndWrapper(title)
client_rect = app.client_rect()
# print out
client_rect (L0, T0, R558, B1020)
client_rect type <class 'pywinauto.win32structures.RECT'>


# I cant access like this either:
values = []
app = controls.hwndwrapper.HwndWrapper(title)
rect = app.rect()
values.append(rect)
# print out
values [<RECT L1293, T6, R1851, B1026>]
values type <class 'list'>

# I try this too:
x = values[0]
# prints out:
x (L1293, T6, R1851, B1026)

x = values[1]
# prints out
x = values[1]
IndexError: list index out of range


只有 client_rect 对象的简单属性:

print(client_rect.left, client_rect.top, client_rect.right, client_rect.bottom)

另外还有一个获取矩形中心点的方法:

print(client_rect.mid_point())

高宽也是方法:

print(client_rect.width())
print(client_rect.height())