我正在用Python编写一些JS基准测试自动化,需要启动并停止Microsoft Edge。我已经设法使Edge与subprocess.Popen()
正常运行,但是就我的一生而言,我无法让它彻底停止运行-就此而言,也无法停止运行任何其他Windows应用程序。
无论我发送到MicrosoftEdge.exe或其他应用程序的信号是什么,都会发生以下两种情况之一:什么都没有,或者应用程序被强制杀死。我已经尝试过WM_CLOSE
,CTRL_C_EVENT
,SIGINT
等。基本问题是,我发送什么信号使用户单击“关闭”按钮? (顺便说一下,我知道Edge是UWP应用。)
在这里变得更加有趣。我试图通过致电taskkill /im instead
解决此问题。它几乎可以在所有Windows应用程序上正常工作(例如,如果打开的写字板中带有一些文本,则会显示保存提示),但对Edge绝对没有任何作用。我即将开始撕头发:)
有人能对此有所启发吗?我宁愿保持这种简单,但我可能不得不求助于使用Selenium之类的东西。
答案 0 :(得分:0)
尝试:
SendMessage (or PostMessage) (hEdgeTopLevelWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
这应该使Edge认为用户已单击“关闭”按钮。但对您来说,@ IInspectable。
但是您如何掌握hEdgeTopLevelWnd
?您需要确保获得正确的选择-在UWP应用使用的(最小)窗口层次结构中有一些。