如何使用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并在后台/无头模式下运行:我实际上需要在后台运行我的代码,这意味着它会在后台自动启动。我认为无头和背景有细微的区别,无头和背景在启动时与特定用