4

在执行期间,spectron 打开两个空白的终端窗口。第一个窗口是我想要的应用程序,其他窗口看起来像终端,里面没有任何东西。

目前我使用焦点()聚焦到第一个窗口。

Github 问题链接:https ://github.com/electron/spectron/issues/60

有谁知道发生了什么?是 ChromeDriver 的问题吗?

4

3 回答 3

1

我遇到了同样的问题(只是为了澄清,仅在 Windows 上)。

显然,它是作为Windows 上 Spectron 的一种解决方法引入的:

用 go 编写的启动程序二进制文件经常被标记为木马或病毒。一个简单的 bat 文件应该被视为更无害。有关问题以及此 bat 文件,请参见#93 。

不幸的是,使用.bat文件的结果是不可避免地产生这些额外的空控制台

唯一已知的解决方法是.focus()像您提到的那样使用。

于 2019-01-29T18:10:58.723 回答
1

focus() 与 setAlwaysOnTop(true) 的组合会有所帮助。

 chaiAsPromised.transferPromiseness = app.transferPromiseness;
    return app.start().then( async () => {
      await app.browserWindow.focus();
      await app.browserWindow.setAlwaysOnTop(true);
    });
  });
于 2019-04-10T18:23:54.403 回答
0

也许返工launcher.bat以使用启动命令?就像是:

Start "" "%SPECTRON_NODE_PATH%" "%SPECTRON_LAUNCHER_PATH%" %*

只是目不转睛。

不确定如何管理退出失败代码,但 IIRC 不会留下 shell。完全披露,我没有这个应用程序,这是一个路过的答案。希望能帮助到你。

于 2019-02-04T01:34:49.383 回答