利用Selenium自动登录CSDN实例

Selenium是一个自动化测试工具,可以自动唤起浏览器模拟一些用户行为,具体说明可以看官网 https://www.seleniumhq.org/。

本文用.net core类库通过xunit来测试Selenium自动登录CSDN,使用visual studio 2019编写。

1、创建类库,通过Nuget安装xunit、selenium

 

 

 

 2、自行搜索geckodriver下载,该程序用来驱动浏览器启动

 3、代码如下

using Xunit;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;

namespace XUnitTestProject1
{
    public class UnitTest1
    {
        // <summary>
        /// 自动登录CSDN
        /// </summary>
        [Fact(DisplayName = "Visit.Cnblogs")]
        public void Visit_Cnblogs()
        {
//geckodriver文件的存放路径 FirefoxDriverService service
= FirefoxDriverService.CreateDefaultService(@"C:\geckodriver", "geckodriver.exe");
   //火狐浏览器的执行文件路径,默认支持火狐,支持chrome等其他浏览器需要下载相应的类库驱动 service.FirefoxBinaryPath
= @"C:\Program Files\Mozilla Firefox\firefox.exe"; IWebDriver driver = new FirefoxDriver(service); driver.Url = "https://passport.csdn.net/login";
//打开登录页面默认是微信登录,找到账号登录并点击
driver.FindElement(By.XPath(".//div[@class='main-select']/ul/li[2]")).Click();
//CSDN的用户名和密码
dynamic loginUser = new { UserName = "", UserPwd = "" };
//找到用户名和密码填入表单并且填充数据 driver.FindElement(By.Id(
"all")).SendKeys(loginUser.UserName); driver.FindElement(By.Id("password-number")).SendKeys(loginUser.UserPwd);
//找到登录按钮并点击 driver.FindElement(By.ClassName(
"btn-primary")).Click();        

//程序执行完需要释放,不然会有进程遗留占用某个端口 service.Dispose(); driver.Dispose(); }
  }
}
posted @ 2019-05-06 21:53  进击的小黑  阅读(285)  评论(0编辑  收藏  举报