C# Selenium.WebDriver系列 (一)

C# Selenium.WebDriver系列 (一)

一、Selenium.WebDriver是什么

WebDriver 以本地化方式驱动浏览器,就像用户在本地或使用 Selenium 服务器的远程机器上所做的那样,这标志着浏览器自动化的飞跃。

Selenium WebDriver 指的是语言绑定和各个浏览器控制代码的实现。 这通常被称为 WebDriver。

Selenium WebDriver 是 W3C 推荐标准。

  • WebDriver 被设计成一个简单和简洁的编程接口。
  • WebDriver 是一个简洁的面向对象 API。
  • 它能有效地驱动浏览器。

接下来使用 C# Selenium WebDriver Chrome 进行演示

二、C# Selenium.WebDriver可以用来做什么

Selenium WebDriver的核心原理是通过向浏览器发送命令和脚本,模拟真实用户的操作行为,从而实现对Web应用程序的自动化测试.
正常用户在网页上看到的内容,通过Selenium WebDriver都可以模拟人的操作发送消息,读取信息,基于此特性,可以用来做以下场景:

  1. 爬虫
    只要是正常用户可以看到的内容或点击的按钮,都可以通过 Selenium WebDriver 进行操作,这样就可以根据需求,通过程序获取并输出到文件中进行爬取

  2. 自动化测试
    软件测试人员可以根据测试需求,编写自动化测试程序

  3. 工业产品生产自动化测试
    对于某些电子产品,机器内部支持网页进行控制与信息读取,在生产中可以根据测试项按照流程模拟操作人员操作,编写自动化程序.

三、使用步骤

1.引入库 使用NuGet引入


注意:webdriver版本需要和当前浏览器主版本一致。

2.基础演示(以百度为例,自动输入 hello world并搜索)

函数示例:

static void BaiduTest()
        {
            // 设置 Chrome 浏览器的路径
            var chromeOptions = new ChromeOptions();
            chromeOptions.BinaryLocation = "C:\\Chrome119-bin32\\chrome.exe"; //指定Selenium启动的路径
            //chromeOptions.AddArgument("--headless");
            // 创建 ChromeDriver 对象并指定 ChromeOptions
            IWebDriver driver = new ChromeDriver(chromeOptions);

            //https://www.baidu.com/
            // 导航到指定 URL
            driver.Navigate().GoToUrl("https://www.baidu.com/");

            // 执行相关操作
            IWebElement element = driver.FindElement(By.Id("kw"));
            string v1 = element.GetAttribute("value");
            Console.WriteLine("查询输入的内容:"+v1);
            element.SendKeys("hello world"); //输入 hello world
            string v2 = element.GetAttribute("value");
            Console.WriteLine("再次查询输入的内容:" + v2);
            string v3 = driver.FindElement(By.Id("su")).GetAttribute("value");
            driver.FindElement(By.Id("su")).Click(); //点击 百度一下
            Console.WriteLine("查询按钮的文字内容:" + v3);
          
            // 关闭浏览器
            driver.Quit();
        }

程序启动截图:
在这里插入图片描述
在这里插入图片描述

代码中 kw是怎么来的呢
在浏览器中 按F12,点击在这里插入图片描述按钮,将鼠标移到指定位置,可以看到输入框的id是 kw

IWebElement element = driver.FindElement(By.Id("kw"));

百度一下按钮同理

driver.FindElement(By.Id("su"));

在这里插入图片描述


总结

文章演示了C# Selenium.WebDriver 以谷歌浏览器,自动化的输入 hello world 并点击 百度一下.
下一文章会介绍爬虫的案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值