zoukankan      html  css  js  c++  java
  • 利用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 FilesMozilla Firefoxfirefox.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(); }
      }
    }
  • 相关阅读:
    显示等待WebDriverWait
    MySQL添加注释
    linux
    linux时区问题
    CentOS禁用笔记本touchpad
    Mysql事务隔离级别
    IDEA集成有道翻译插件/maven帮助插件/mybatis插件
    SVN服务器的搭建和使用
    IntelliJ IDEA工具的安装使用
    IntelliJ IDEA的使用操作链接
  • 原文地址:https://www.cnblogs.com/huangchuxian/p/10822387.html
Copyright © 2011-2022 走看看