结合Excel批量操作网页,模拟登陆
2024-09-21 15:26:41
有这样一个场景,客户的一批账户密码保存在Excel中,需要逐一登录,进行某些操作
从头开始来的话很麻烦,读取Excel,安装Web控件,主要是控件操作没有很方便,有没有类似原始js调用、jqurey调用那样用C#操作网页?
这时可以用ExcelWeb脚本助手帮助完成
ExcelWeb脚本助手提供了Excel、浏览器操作的使用API,可以像操作Com那样操作Excel,操作js那样操作浏览器
打开Excel并遍历行:
模拟登陆:
代码和注释:
var InfoFile = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(),"账户信息.xlsx");//Demo账户文件路径
Workbook workbook = Command.Excel.OpenExcel(InfoFile);//打开
ExcelRowCollection rows = workbook.ActiveSheet.Rows;//获取文件内的所有行 var pageUrl = "file:///"+System.IO.Directory.GetCurrentDirectory()+"/chahua3318/login.html";//Demo网址路径
for (int i = ; i <= rows.Count; i++) {//遍历行
var RowItem = rows[i];
var page = Command.Browser.AddPage(pageUrl);
var nameElement = page.getElementById("name");
var pwdElement = page.getElementById("pwd");
nameElement.Value=RowItem.Cells["B"].Value.ToString();
pwdElement.Value = RowItem.Cells["C"].Value.ToString();
page.getElementById("login_sub").click();
Wait();
var 密码错误框= page.FindAlertForm("密码错误");
if (密码错误框!=null) {
RowItem.Cells["D"].Value="密码错误";
密码错误框.Click();
}else
{
var 房源管理 = page.getElementById("dleft_tab1_2_span");
房源管理.click();
Wait(); var subIframe= page.GetIframe("right");
var Text = subIframe.Query(".ui_flt").text();
RowItem.Cells["E"].Value=Text;
}
}
最新文章
- ArcGIS Server开发教程系列(1)	Arcgis server 10.1 的安装
- 使用git提交内容到网盘
- jenkins 状态管理
- NGUI自适应分辨率,黑边自动填充, 无黑边,等比例缩放
- android EditText监听事件及参数详解
- ArrayList 学习笔记
- POJ3592 Instantaneous Transference题解
- activiti 一个流程的运转步骤 以请假流程为例
- struts 中的addFieldError
- Dubbo新版管控台
- EF Fluent API
- 危险代码:如何使用Unsafe操作内存中的Java类和对象
- java实现爬虫功能
- STL之std::set、std::map的lower_bound和upper_bound函数使用说明
- Delphi RAD Berlin OutputDebugString 输出调试信息
- 【Java并发编程】:并发新特性—Executor框架与线程池
- jquery DOM操作(一)
- ubuntu -- mf210v拨号流程
- EasyUI datagrid 多条件查询
- C# Email 发送邮件,对方打开通知你
热门文章
- 解惑,什么是data-attribute ?
- 深度学习论文翻译解析(十一):OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks
- Python定义一个函数
- Python File isatty() 方法
- PHP array_unshift() 函数
- PHP date_default_timezone_set() 函数
- .net core下获取自身服务器地址
- LeetCode 89,因为题目晦涩而被点了1500+反对的搜索问题
- Kaggle-pandas(2)
- 关于手机数码圈KOL的一两点感想