【发布时间】:2013-05-23 21:11:06
【问题描述】:
我一直在开发一个应用程序来爬取 URL 列表并下拉实时源代码(即生成的源代码而不是原始代码) - 我已经通过 Selenium.NET 使用 PhantomJS 来按我的意愿执行此操作以无头形式完成操作。
进程本身运行良好,但每次我的一个线程加载 PhantomJS 驱动程序的实例时,它都会在新打开的控制台中运行 PhantomJS.exe(作为 GhostDriver)。我想避免这种情况是可能的,因为每次线程启动控制台窗口都会将焦点转移到机器上。有谁知道这是否可能?我正在使用一个非常基本的 sn-p 来启动实例:
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 平台处理此问题的官方文档。
提前致谢!
【问题讨论】: