我试图在components
中使用PhantomJS
(v 2.0)测试某些内容并且没有正确关闭它,导致我的机器使用100%的CPU。< / p>
所有程序都正常工作,除了关闭它的部分。
我试过
C#
和(所有这些)
driver.Dispose();
driver.Quit();
driver.Close();
但该过程仍在任务管理器中
我试图粗暴地关闭控制台
Enviroment.Exit(-1);
Enviroment.Exit(0);
Enviroment.Exit(1);
return;
但仍无效。
有一个消息,幻影在控制台中向我显示
Process.GetCurrentProcess().Kill();
此外,我使用硒,但我不认为有重要信息。
有什么想法吗?
感谢。
答案 0 :(得分:3)
以下是我使用Selenium WebDriver和PhantomJS解决这个问题的方法。
AADSTS70002: Error validating credentials. AADSTS50012: Authentication failed
Trace ID: c62c9e93-f7c9-43fe-b5eb-4a6f9dfe6be0
Correlation ID: c14f259c-3e91-4e51-9f82-8feabd35bf5d
Timestamp: 2016-07-22 21:04:19Z
答案 1 :(得分:0)
可能的解决方案
我不打算将它标记为有效,因为它是暂时的,但是现在,解决问题的最简单/最快的方法是获取进程并手动终止它。
为什么不是最好的解决方案,因为是杀死所有PhantomJS进程,在我的情况下只有一个,然后是有效的,但是比锁定服务器更好。
foreach (Process proc in Process.GetProcessesByName("PhantomJS"))
{
proc.Kill();
}
如果有人知道如何获得特定流程(如果有多个),我们将受到欢迎。
答案 2 :(得分:0)
这样的事情似乎在这种情况下运作良好:
//Close Driver
driver.Close();
// Get the current process.
System.Diagnostics.Process myProcess = System.Diagnostics.Process.GetCurrentProcess();
// Close process by sending a close message to its main window.
myProcess.CloseMainWindow();
// Free resources associated with process.
myProcess.Close();
Environment.Exit(0);