我过去两个月一直在研究我的项目,一切正常但我最终遇到了问题。我一直在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();
}
}
}
功能后,我得到的结果相同!
提前致谢!