学历代表你的过去,能力代表你的现在,学习代表你的将来

十年河东,十年河西,莫欺少年穷

学无止境,精益求精

C# 实现表单的自动化测试,这标题看着就来劲!那么,如何通过C#程序控制一个网页呢?

在此,以一个简单的案例来展示,我们要控制百度,并让其自动搜索‘helloworld’

利用VS新建一个控制台应用程序,并添加如下引用:

书写如下程序即可:

    class Program
{
private static bool ie_Read = false;
static void Main(string[] args)
{
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
ie.DocumentComplete += ie_DocumentComplete;
ie.Navigate("https://www.baidu.com/");
ie.Visible = true;
System.Threading.Thread.Sleep();
mshtml.HTMLDocument doc = ie.Document;
doc.getElementById("kw").innerText = "hello world";
doc.getElementById("su").click();
Console.Read(); } private static void ie_DocumentComplete(object pDisp, ref object URL)
{
ie_Read = true;
} }

这样,就会启动IE浏览器,并打开百度,自动输入‘helloworld’并搜索!

当然,如果要想学到真正的控制网页,还需要很多知识需要学习,比如:mshtml.HTMLDocument 的结构,doc 的方法属性等,本篇博客仅仅提供一个入门。

更详细的信息大家可参考:

https://www.cnblogs.com/lzyGod/p/6639103.html   《良心好文》

https://www.cnblogs.com/kissdodog/p/3725774.html 《良心好文》

https://www.cnblogs.com/endv/p/5983110.html 《用法好文》

@陈卧龙的博客

C# 实现表单的自动化测试<通过程序控制一个网页>的更多相关文章

  1. C# Json反序列化 C# 实现表单的自动化测试<通过程序控制一个网页> 验证码处理类:UnCodebase.cs + BauDuAi 读取验证码的值(并非好的解决方案) 大话设计模式:原型模式 C# 深浅复制 MemberwiseClone

    C# Json反序列化   Json反序列化有两种方式[本人],一种是生成实体的,方便处理大量数据,复杂度稍高,一种是用匿名类写,方便读取数据,较为简单. 使用了Newtonsoft.Json,可以自 ...

  2. form表单里如果只存在一个文本框,enter键提交

    在这里说一说浏览器里form表单的默认行为 我们都知道浏览器是存在很多默认行为的,可能是出于常用行为考虑又或者是历史原因.但有时候我们不需要这些默认行为.以下: 1).当form表单里只存在一个inp ...

  3. HTML第二部分表单及使用Photoshop快速制作网页

    一.表单 <form id="" name="" method="post/get" action="负责处理的服务端&qu ...

  4. 在jsp提交表单的参数封装到一个方法里

    建议去看一下孤傲苍狼写的Servlet+JSP+JavaBean开发模式(http://www.cnblogs.com/xdp-gacl/p/3902537.html), 最好把他JavaWeb学习总 ...

  5. myeclipse10 .jsp将表单提交给.java(form网页与后台通信初识)

    做毕设需要用到form通信. 以下几张截图来自极课学院 servlet jsp文件 web配置 出现错误: 路径问题 仍然不对,需要再改 <form action="servlet/S ...

  6. php编程 之php基础 表单

    1 ,php表单 当处理php表单的时候,php能把来自html页面的表单元素自动变成可供php脚本使用的数据. 比如: <html> <head> <meta char ...

  7. Angular2 表单

    1. 说明 表单是Web程序中的重要组成部分,构建良好以及实用的表单必须解决如下几个问题: (1). 如何跟踪及更新表单的数据状态 (2). 如何进行表单验证 (3). 如何显示表单验证信息 Angu ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单

    系列目录 设计表单是比较复杂的一步,完成一个表单的设计其实很漫长,主要分为四步. 开始之前先说说表的结构. 其实表Flow_Form与Flow_FormContent设计是有一个缺陷的.我总共是设置最 ...

  9. 苹果手机微信上form表单提交的问题

    场景:前端页面请求后端php,返回带form表单dom元素,然后将其追在页面上,返回的html字段中包含表单自动提交的代码,想法是将带有表单自动提交的dom元素追加到页面上,然后表单自动提交到另外一个 ...

随机推荐

  1. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...

  2. Linux 学习笔记之超详细基础linux命令 Part 11

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...

  3. 基于bootstrap的双日历插件 daterangepicker

    我遇到需求是要求我将daterangepicker的一个双日期选择格式修改成两个单日期格式的日期选择框(方便手机端显示),要求如下: 1.两个单日期格式分别为开始日期和结束日期 2.开始日期可选择范围 ...

  4. maven管理项目的特点

    Maven介绍 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的ja ...

  5. [20180614]删除bootstrap$记录无法启动2.txt

    [20180614]删除bootstrap$记录无法启动2.txt --//前几天看链接http://www.xifenfei.com/2018/05/willfully-delete-bootstr ...

  6. oracle count函数

    用来返回查询的行数. 当指定distinct时,不能接order_by_clause: 如果指定表达式,count返回表达式不为空的值: 当指定*号时,它返回所有行,含重复行和空值.count从不返回 ...

  7. 什么是ORM?为啥要是用ORM?

    了解orm,先了解以下概念: 什么是“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘).持久化的主要应用是将内存中的数据存储在关系型的数据库中 ...

  8. Selenium 、WebDriver :Capability

    Selenium | WebDriver Capability 内容摘要: 1.WebDriver 通用配置 2.RemoteWebDriver特有配置 3.Grid特有配置 4.在使用特定浏览器时的 ...

  9. Linux下如何杀死终端

    1.首先是使用who命令查看当前有多少个终端登陆了Linux系统 [root@:vg_adn_tidbCkhsTest /usr/local/redis/bin]#who mobdev pts : ( ...

  10. book118免费下载文档方法【转】

    需要用的工具: 1.360浏览器 2.点"全屏预览",然后把鼠标放在"下载该文档",右键"审查元素",找到 途中箭头指向的标签(如图) 3. ...