PhantomJS是一个基于webkit的javascript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、html5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。
其使用也挺简单:
一.安装
下载WebDriverC#类库,http://www.seleniumhq.org/download/
此外还需要下载一个PhantomJS,下载地址:http://phantomjs.org/download.html
这里可以在Nuget中搜索Selenium.WebDriver和Selenium.PhantomJS.WebDriver进行下载,不过国内网络问题,可能出现下载不来
二.引用(Nuget下载忽略此步骤)
如果是通过链接下载,则进行引用即可,phantomjs.exe把其放在根目录,然后属性里设置始终复制即可
三.初试
using OpenQA.Selenium; using OpenQA.Selenium.PhantomJS; using System; namespace PhantomJSDemo { class Program { static void Main(string[] args) { var url = "https://www.baidu.com"; var driver = new PhantomJSDriver(); driver.Navigate().GoToUrl(url); driver.FindElement(By.Id("kw")).SendKeys("asp.net"); driver.FindElement(By.Id("su")).Click(); Console.WriteLine(driver.Title); Console.Read(); driver.Quit(); } } }
driver类型 | 优点 | 缺点 | 应用 |
真实浏览器driver | 真实模拟用户行为 | 效率、稳定性低 | 兼容性测试 |
HtmlUnit | 速度快 | js引擎不是主流的浏览器支持的 | 包含少量js的页面测试 |
PhantomJS | 速度中等、模拟行为接近真实 | 不能模拟不同/特定浏览器的行为 | 非GUI的功能性测试 |
时间: 2024-10-07 12:11:56