.net下使用SeleniumPhantomJS

Posted 一起牛软件

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net下使用SeleniumPhantomJS相关的知识,希望对你有一定的参考价值。

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

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

class Program {   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程序;如下图

第五步:生成项目,启动运行,输出如下图结果;

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

以上是关于.net下使用SeleniumPhantomJS的主要内容,如果未能解决你的问题,请参考以下文章

07-seleniumPhantomJS(无头浏览器)

.Net 7 GC垃圾回收对象跨代简析

URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法java.net.URLDecoder.encodejava.net.URLDecoder.decode)(代

Asp.NET Core 在IIS部署 An assembly specified in the application dependencies manifest was not found(示例代

雷军:小米 13 暂无做半代升级版本计划;微软放宽 Bing 搜索引擎使用限制;.NET 8 发布首个预览版本|极客头条

雷军:小米 13 暂无做半代升级版本计划;微软放宽 Bing 搜索引擎使用限制;.NET 8 发布首个预览版本|极客头条...