.net下使用Selenium、PhantomJS

Selenium是什么?

selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

上面这段文字摘自百度百科,我觉得他说的很清晰,我没必要再重新叙述一遍。

PhantomJS又是什么?

Selenium可以根据我们的指令,让浏览器自动加载页面,获取需要的页面,甚至页面截屏,或者判断网站上某些动作是否发生。

Selenium自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所有我们用一个叫PhantomJS的工具代替真实的浏览器。

PhantomJS又叫“*面的浏览器”,“无头浏览器”。

以上是二者的概念,我们不过多详谈,直接看在.net平台下的具体应用,因为类似的文章说明很多了,具体关于其他平台java,php,python的应用也很多,.net平台下的使用文章几乎微乎其微。

.net平台上的使用
第一步:

打开vs新建.net fx控制台项目,如果控制台项目不会建,请自行百度。不要影响我上干货。

第二步:

打开nuget,搜索Selenium,选择Selenium.WebDriver安装,版本的话我选择了3.0的。

.net下使用Selenium、PhantomJS

第三步:

复制如下代码到你新建的项目控制台;

 {
   static void Main(string[] args)
   {
       var url = "https://www.baidu.com/";
       IWebDriver driver = new PhantomJSDriver(GetPhantomJSDriverService());
        //new FirefoxDriver();
        driver.Navigate().GoToUrl(url);
        Console.WriteLine(driver.PageSource);
        driver.Quit();
        Console.Read();
   }
    private static PhantomJSDriverService GetPhantomJSDriverService()
    {
     PhantomJSDriverService pds = PhantomJSDriverService.CreateDefaultService();
            //设置代理服务器地址            
            //pds.Proxy = $"{ip}:{port}";  
            //设置代理服务器认证信息           
            //pds.ProxyAuthentication = GetProxyAuthorization();
            return pds;
      }
  }
第四步 :

这时不要运行代码,强行运行会报异常“Selenium.PhantomJS.WebDriver没有安装(无头浏览器)”;再次打开nuget搜索“Selenium.PhantomJS.WebDriver”
.net下使用Selenium、PhantomJS
安装完之后程序的Bin文件下的Debug目录下会有PhantomJs.exe程序;如下图
.net下使用Selenium、PhantomJS

第五步:

生成项目,启动运行,输出如下图结果;
.net下使用Selenium、PhantomJS

最后:

Selenium、PhantomJS在.net平台上是不是使用很简单,当然了我这只是个最简单的使用了,关于其他的东西后面我还会介绍,这篇只是开头篇,不会介绍太多,会搭建使用即可。

上一篇:使用.net 和Selenium模拟百度登录


下一篇:.NET 的内存管理机制(一)