0

如果我在 GUI 中,则使用 python 2.7 和 sikulix API 与所述 GUI 交互。如果我从该 GUI 中单击某个以全屏打开另一个窗口的东西,sikulix 当前无法与新打开的窗口交互,它仍然可以出于某种原因只能看到旧窗口,即使它在下面。我可以把新打开的窗口变小,然后把原来的窗口拖到屏幕较低的地方,然后重新最大化新窗口,这样我就可以和新窗口交互了。 - - 有一个更好的方法吗?(使用 CentOS)

4

2 回答 2

3

如果您已经知道您将从 gui 运行的应用程序的进程 exe 名称,您可以创建一个链接到该应用程序的应用程序引用,例如:

yourApp = App("yourApp.exe")

从这里,如果您想单击仅属于此窗口的内容,您可以在新窗口之外创建一个区域,该区域应在启动后自动聚焦。这可以像这样完成:

yourReg = Region(yourApp.focusedWindow())

从这里,您可以使用此区域单击窗口上的项目,例如:

yourReg.click(CancelButton.png)
于 2019-05-16T19:34:36.367 回答
0

Sikuli“看到”屏幕上的任何内容,所以如果有窗口,Sikuli 不能忽视它。在您的情况下可能发生的情况是您的进度太快,Sikuli 仍在观察前一个屏幕。您需要做的是等待足够的时间以确保新窗口已实际打开。

于 2019-03-06T14:12:53.640 回答