Phantomjs在桌面控制台应用程序上运行40秒,同时在运行asp.net visual studio express后150秒运行结果

时间:2016-01-08 18:24:56

标签: c# visual-studio-2012 console phantomjs php-phantomjs

我过去两个月一直在研究我的项目,一切正常但我最终遇到了问题。我一直在c#中运行我的脚本:

SomeDetailsController

在Visual Studio Express上用于控制台应用程序中的桌面。我在40秒内获得了精彩的成绩。两者都给出了40秒,而第一个给出了不到12秒的结果。

问题出在这里,在Visual Studio for web的asp.net项目中运行基于上面的脚本,

visual studio的asp.net项目中的脚本是:

using OpenQA.Selenium;
using OpenQA.Selenium.PhantomJS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace console
{
    class Program
    {
        static void Main(string[] args)
        {

        IWebDriver driver = new PhantomJSDriver();
        var url = "http://example1.com";
        driver.Navigate().GoToUrl(url);
        var r = driver.FindElements(By.CssSelector("css selector of example1.com"));
        var d = r.First().Text;
        Console.WriteLine(d);

        var phantomJSDriverService = PhantomJSDriverService.CreateDefaultService();

        IWebDriver driver_p = new PhantomJSDriver(phantomJSDriverService);
        driver_p.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));
        var url_p = "http://example2.com";
        driver.Navigate().GoToUrl(url_p);
        var title = driver.FindElements(By.CssSelector("css selector of example2.com"));
        var myFirstScrape = title[0].Text;

        Console.WriteLine(myFirstScrape);
        Console.ReadLine();

        driver_p.Quit();


    }
  }
}

我从上面的asp.net项目代码得到的结果超过150s,这对我的业务来说不是。我一直在努力将其降低到最低值<&lt; 50秒

注意:如果我在php脚本中获得最终输出,我很高兴,我不知道web托管服务器上的phantomjs,因此这个项目更喜欢asp.net。

删除using OpenQA.Selenium; using OpenQA.Selenium.PhantomJS; using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebScraperapp { public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { var phantomJSDriverService = PhantomJSDriverService.CreateDefaultService(); IWebDriver driver = new PhantomJSDriver(phantomJSDriverService); driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); var url = "http://www.example1.com"; driver.Navigate().GoToUrl(url); var title = driver.FindElements(By.CssSelector("css selector of example 1")); var myFirstScrape = title[0].Text; Label2.Text = myFirstScrape; driver.Quit(); } } } 功能后,我得到的结果相同!

提前致谢!

0 个答案:

没有答案