我在C#winform应用程序中使用Phantomjs时遇到问题。我想从多个网站页面(大约100)获取从ajax加载的数据,但连接时间很慢,因此需要花费大量时间才能完成。在我的桌面计算机上,每个网站的连接时间大约为7-8秒,在我的笔记本电脑上每个网站的连接时间超过20-30秒。
我正在做的基本上是:
var options = new PhantomJSOptions();
options.AddAdditionalCapability("IsJavaScriptEnabled", true);
var service = PhantomJSDriverService.CreateDefaultService("C:\\phantomjs\\bin");
service.Port = 1002;
service.LoadImages = false;
service.IgnoreSslErrors = true;
service.LocalToRemoteUrlAccess = true;
service.DiskCache = true;
service.HideCommandPromptWindow = true;
driver = new PhantomJSDriver(service, options);
for (int i = 0; i < match.Count(); i++) {
driver.Navigate().GoToUrl(website + match[i].getId());
try {
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.PollingInterval = TimeSpan.FromSeconds(2);
wait.Until(drv => drv.FindElement(By.Id("preload-all")).Text.ToString() != "Loading ...");
.....
}
}
driver.Quit();
那么,我做错了吗?我可以更快地连接时间吗?因为我看到获取数据非常快。