C#项目中使用 Selenium + PhantomJS 模拟登录博客园

Posted LittleFeiHu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#项目中使用 Selenium + PhantomJS 模拟登录博客园相关的知识,希望对你有一定的参考价值。

Selenium

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium

 

PhantomJS

PhantomJS是一个基于webkit的javascript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行javascript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、html5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。

PhantomJS官方示例:http://phantomjs.org/examples/

 

C# 项目中如何使用:

首先Nuget下安装组件

Selenium.PhantomJS.WebDriver

Selenium.WebDriver

 var url = "https://passport.cnblogs.com/user/signin";
           var  driver1 = new PhantomJSDriver(GetPhantomJSDriverService());
            driver1.Navigate().GoToUrl(url);
           
            if (driver1.Title == "用户登录 - 博客园")
            {
                driver1.FindElement(By.Id("input1")).SendKeys("xielongbao");
                driver1.FindElement(By.Id("input2")).SendKeys("1234");
                driver1.FindElement(By.Id("signin")).Click();
            }
Console.WriteLine(driver1.PageSource);

 

 

 

登陆示例代码

一个不错的封装

 

以上是关于C#项目中使用 Selenium + PhantomJS 模拟登录博客园的主要内容,如果未能解决你的问题,请参考以下文章

C#使用Selenium+PhantomJS抓取数据

C#使用Selenium+PhantomJS抓取数据

如何在 C# 中单击带有 Selenium 的 JS 链接

Selenium 自动化组织项目

如何使用 C# 在 Selenium WebDriver (Selenium 2) 中最大化浏览器窗口?

如何在 c# 中使用 Selenium 刷新网页?