c#网页自动化脚本语言,C# 利用Selenium实现浏览器自动化操作的示例代码

本文介绍了如何利用C#结合Selenium进行网页自动化测试,包括使用ChromeDriver、元素定位、事件触发等。示例代码展示了登录、商品查询、加入购物车等操作,并涉及log4net日志管理和队列数据结构的应用。
摘要由CSDN通过智能技术生成

概述

Selenium是一款免费的分布式的自动化测试工具,支持多种开发语言,无论是C、 java、ruby、python、或是C# ,你都可以通过selenium完成自动化测试。本文以一个简单的小例子,简述C# 利用Selenium进行浏览器的模拟操作,仅供学习分享使用,如有不足之处,还请指正。

涉及知识点

要实现本例的功能,除了要掌握Html ,JavaScript,CSS等基础知识,还涉及以下知识点:

log4net:主要用于日志的记录和存储,本例采用log4net进行日志记录,便于过程跟踪和问题排查,关于log4net的配置和介绍,之前已有说明,本文不做赘述。

Queue:队列,先进先出模式,本文主要用于将日志信息保存于队列中,然后再显示到页面上,其中Enqueue用于添加内容到结尾处,Dequeue用于返回并移除一个位置的对象。

IWebDriver:浏览器驱动接口,所有的关于浏览器的操作都可以通过此接口进行,不同浏览器有不同的实现类,如:IE浏览器(InternetExplorerDriver)Chrome浏览器(ChromeDriver)等。

BackgroundWorker:后台工作线程,区别于主线程,通过事件触发不同的状态。

Selenium安装

本例开发工具为VS2019,通过NuGet进行需要的软件包的安装与管理,如下所示:

5be88ecfc958df7f116e9bfb74b4c8d3.png

示例效果图

本例采用Chrome浏览器,用于监控某一个网站并获取相应内容,如下所示:

3896f41adb9ae84383b28a6bc855db00.png

Selenium示例介绍

定义一个webDriver,如下所示:

//谷歌浏览器

ChromeOptions options = new ChromeOptions();

this.driver = new ChromeDriver(options);

通过ID获取元素并填充内容和触发事件,如下所示:

this.driver.FindElement(By.Id("email")).SendKeys(username);

this.driver.FindElement(By.Id("password")).SendKeys(password);

//# 7. 点击登录按钮

this.driver.FindElement(By.Id("sign-in")).Click();

通过XPath获取元素,如下所示:

string xpath1 = "//div[@class=\"product-list\"]/div[@class=\"product\"]/div[@class=\"price-and-detail\"]/div[@class=\"price\"]/span[@class=\"noStock\"]";

string txt = this.driver.FindElement(By.XPath(xpath1)).Text;

核心代码

主要的核心代码,就是浏览器的元素定位查找和事件触发,如下所示:

using OpenQA.Selenium;

using OpenQA.Selenium.IE;

using OpenQA.Selenium.Chrome;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading;

using System.Threading.Tasks;

namespace AiSmoking.Core

{

public class Smoking

{

///

/// 是否正在运行

///

private bool running 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值