在执行期间,spectron 打开两个空白的终端窗口。第一个窗口是我想要的应用程序,其他窗口看起来像终端,里面没有任何东西。
目前我使用焦点()聚焦到第一个窗口。
Github 问题链接:https ://github.com/electron/spectron/issues/60
有谁知道发生了什么?是 ChromeDriver 的问题吗?
在执行期间,spectron 打开两个空白的终端窗口。第一个窗口是我想要的应用程序,其他窗口看起来像终端,里面没有任何东西。
目前我使用焦点()聚焦到第一个窗口。
Github 问题链接:https ://github.com/electron/spectron/issues/60
有谁知道发生了什么?是 ChromeDriver 的问题吗?
我遇到了同样的问题(只是为了澄清,仅在 Windows 上)。
显然,它是作为Windows 上 Spectron 的一种解决方法引入的:
用 go 编写的启动程序二进制文件经常被标记为木马或病毒。一个简单的 bat 文件应该被视为更无害。有关问题以及此 bat 文件,请参见#93 。
不幸的是,使用.bat
文件的结果是不可避免地产生这些额外的空控制台。
唯一已知的解决方法是.focus()
像您提到的那样使用。
focus() 与 setAlwaysOnTop(true) 的组合会有所帮助。
chaiAsPromised.transferPromiseness = app.transferPromiseness;
return app.start().then( async () => {
await app.browserWindow.focus();
await app.browserWindow.setAlwaysOnTop(true);
});
});
也许返工launcher.bat以使用启动命令?就像是:
Start "" "%SPECTRON_NODE_PATH%" "%SPECTRON_LAUNCHER_PATH%" %*
只是目不转睛。
不确定如何管理退出失败代码,但 IIRC 不会留下 shell。完全披露,我没有这个应用程序,这是一个路过的答案。希望能帮助到你。