当前位置: 首页 > 面试题库 >

使用python获取窗口位置和大小

张锐藻
2023-03-14
问题内容

如何使用python获取和设置窗口(任何Windows程序)的位置和大小?


问题答案:

假设您使用的是Windows,请尝试使用带有和功能pywin32的的win32gui模块。EnumWindows``GetWindowRect

如果您使用的是Mac OS X,则可以尝试使用appscript

对于Linux,您可以尝试X11的众多接口之一。

编辑: Windows的示例(未测试):

import win32gui

def callback(hwnd, extra):
    rect = win32gui.GetWindowRect(hwnd)
    x = rect[0]
    y = rect[1]
    w = rect[2] - x
    h = rect[3] - y
    print("Window %s:" % win32gui.GetWindowText(hwnd))
    print("\tLocation: (%d, %d)" % (x, y))
    print("\t    Size: (%d, %d)" % (w, h))

def main():
    win32gui.EnumWindows(callback, None)

if __name__ == '__main__':
    main()


 类似资料:
  • 问题内容: 我希望找到一种方法来获取当前可见窗口的位置(相对于总页面宽度/高度),以便可以将其强制从一个部分滚动到另一部分。但是,要猜测哪个对象对您的浏览器拥有真正的X / Y,似乎有很多选择。 为了确保IE 6 +,FF 2+和Chrome / Safari能正常工作,我需要选择以下哪两项? 还有其他吗?一旦知道窗口在哪里,就可以设置一个事件链,该事件链将缓慢调用直到到达所需的位置。 问题答案:

  • 问题内容: 我将Selenium WebDriver与java.awt.Robot结合使用,以更好地模拟用户与Web应用程序的交互。是的,我知道可能没有必要,但是我所服务的客户都需要它。 当前,一切运行良好,但是我有一个小问题,就是我似乎找不到找到将Web元素显示在屏幕上位置的好方法。诸如标题栏,菜单栏,导航栏之类的东西都将内容向下推到物理屏幕上(Robot从中获取坐标),但对Selenium报告

  • 我试图在JavaFX应用程序中获取鼠标点击的位置。我有一个事件处理程序: 这就是所谓的鼠标按下,释放和拖动。当我尝试更改EventHandler时,我无法从事件中获取鼠标的位置 我怎样才能把这个转移到MouseEvents?

  • 我想初始化一个窗口为最大化,但我不知道如何做。我在Windows7上使用Python3.3和Tkinter 8.6。我想答案就在这里:http://www.tcl.tk/man/Tcl/Tkcmd/wm.htmam.m8但是我不知道如何将它输入到我的python脚本中 此外,我需要得到窗口的宽度和高度(既是最大化的,如果用户重新缩放它之后),但我想我可以自己找到。

  • 问题内容: 我试图找到JFrame的开始位置/位置,以便将鼠标光标从JFrame窗口映射到桌面。反正有找到JFrame的X,Y位置吗? 问题答案: 您可以使用从java.awt.Component继承的JFrame或JFrame方法。

  • 以下用于调整selenium chrome窗口大小的代码无效: 其输出为: 我也尝试过使用选项来设置驱动程序创建时的窗口大小(以及许多其他事情,如下面的注释),但也无法使其工作: 我使用selenium 3.14.0,铬驱动程序版本72.0.3626.109并在后台/无头模式下运行:我实际上需要在后台运行我的代码,这意味着它会在后台自动启动。我认为无头和背景有细微的区别,无头和背景在启动时与特定用