PhantomJSDriver 在C# 语言中相关的文档还是比较少的,今天正好用来玩玩,虽然现在已经被淘汰了,但是其还是有很多的优点的,下面是PhantomJSDriver 实例化的一些设置,这里做个记录,以防以后用到吧。
public static PhantomJSDriver In(string ip = "")
{
string path = AppDomain.CurrentDomain.BaseDirectory.ToString();
PhantomJSDriver phantom = null;
try
{
PhantomJSDriverService driverService = PhantomJSDriverService.CreateDefaultService(path);
driverService.HideCommandPromptWindow = true;
driverService.IgnoreSslErrors = true;
//禁止加载图片
driverService.LoadImages = false;
var options = new PhantomJSOptions();
//设置ua标识
var ua = RandomBrowserUa();
options.AddAdditionalCapability("phantomjs.page.settings.userAgent",ua);
//设置页面加载速度
options.PageLoadStrategy = OpenQA.Selenium.PageLoadStrategy.None;
if (!string.IsNullOrWhiteSpace(ip))
driverService.Proxy = ip;
phantom = new PhantomJSDriver(driverService, options, TimeSpan.FromSeconds(40));
phantom.Manage().Window.Maximize();
}
catch (Exception ex)
{
Console.WriteLine("错误: Phantom驱动启动失败!({0})", ex.Message.ToString());
return null;
}
return phantom;
}
/// <summary>
/// 随机生成ua
/// </summary>
/// <returns></returns>
public static string RandomBrowserUa()
{
string[] ua = new string[] {
"Mozilla/5.0 (Windows NT 6.1; rv,2.0.1) Gecko/20100101 Firefox/4.0.1",
"Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11",
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3704.400 QQBrowser/10.4.3587.400",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4094.1 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"
};
Random rd = new Random();
int index = rd.Next(0, ua.Length);
return ua[index];
}