我一直在开发一个应用程序来爬取 URL 列表并下拉实时源代码(即生成的源代码而不是原始代码) - 我通过 Selenium.NET 使用 PhantomJS 来执行此操作,因为我想要以无头形式完成的操作。
该进程本身运行良好,但每次我的一个线程加载 PhantomJS 驱动程序的实例时,它都会在新打开的控制台中运行 PhantomJS.exe(作为 GhostDriver)。我想避免这种情况是可能的,因为每次线程启动控制台窗口都会将焦点转移到机器上。有谁知道这是否可能?我正在使用一个非常基本的片段来启动实例:
IWebDriver driver = new PhantomJSDriver();
driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));
driver.Navigate().GoToUrl(Entry);
///... Store HTML and do main work here ...
driver.Quit();
driver.Dispose();
有没有办法通过可以传递给构造函数的附加功能之一隐藏 exe 窗口,或者通过 Process.Start 等加载实例的更好方法......?
任何帮助将不胜感激,因为我似乎无法找到任何处理 .NET 平台的此问题的官方文档。
提前致谢!