天天看点

用程序来控制一个网页,实现自动输入等操作

首先今天要说的东西跟游戏无关,你是不是有时候会遇到,在某个网页上重复着几十次的简单而又无聊的录入或点击等工作?比如你的程序需要测试,需要注册大量的测试邮箱。比如你的老板是个变态,让你去各个论坛发大量的垃圾贴子(最无耻行为,纯属举例)。或者,你需要定时的到某一个网页上执行某一些行为,比如上班下班的出勤打卡系统,等等吧,

如果有,那么我今天所介绍的或许会对你有帮助。

当然,如果你要操作的这些网页都是自己开发的,那么无所谓了,你在多开发个工具就行了,但是我说的上面这些都是第三方的网页,你控制不了它们,如果遇到上上述情况,而你是一个挨踢程序员,而你又选择老老实实的重复着这些无聊又费时的工作,那你就真该挨踢了。

要实现这些功能,你只需要用程序控制这些网页,让网页听你的就行了。要动手实现这一系列的功能,你需要做几个简单的准备。

1,os环境:windows

2,ie浏览器

3,工具:excel或者visual studio

先来看看如何用excel来控制一个网页。

新建一个excel并且进入vba,标准模式,什么?不知道vba?你可以找我的两个老师问一下,他们一个姓百,另一个姓谷,诶?你说你也认识?那大家都是自己人了,你什么时候请吃饭啊?

如下图。

用程序来控制一个网页,实现自动输入等操作

我是日文系统,中文的你对照着自己来吧...

要对ie进行操作,首先需要引入两个插件

html object library

microsoft internet controls

如图

用程序来控制一个网页,实现自动输入等操作

打开ie,你只需要下面几行代码

比如我要打开百度,那就这样

接着你需要等待页面加载

好了,百度打开了,是不是很简单,不过你也会说,打开个网页算什么,随便一个程序都可以吧,好吧,咱们下面来实现自动搜索。

首先,咱们用vba在百度的输入框里输入几个文字,百度的输入框的代码如下

那我们就可以通过这个id来对输入框进行输入,如下

如果你上面都没有出错的话,"hellow world"应该已经被加入到输入框里了。

那么下面用vba来点击搜索按钮,进行搜索。百度的搜索按钮代码如下

看到id了吧,那就简单了,下面这样来点击它

怎么样,自动搜索完成了吧

当然,这只是一个最简单的例子而已,如果没有id怎么办?你也可以下下面这样用它

看到了吧,和js很像,如果你不愿意查相关的api的话,那你就拿js的操作方法往上面套用吧

下面来看另一个页面的结构,比如下面这样

如果你要操作这个页面的子页面,也很简单

这个是操作索引为1的子页面,当然你也可以循环所有的子页面,来做的要做的事。

上面所介绍的都是先打开一个页面,然后再进行操作,如果需要操作一个已经打开的页面,你需要这样。

excel就说这么多了。

下面用.net来做,既然前面用了vba,这里我就不用vb再重复了,换用c#来实现。

打开visual studio,新建一个项目,同样,这次你需要引入三个插件

microsoft shell controls and automation

用程序来控制一个网页,实现自动输入等操作
用程序来控制一个网页,实现自动输入等操作

启动ie,并打开百度

获取document

同样,在输入框里输入文字

开始搜索。

下面利用c#如何来操作已经打开的浏览器呢?看下面代码

好了,其他的方法如

等等,自己套用一下就可以了

接下来是frame操作,如下

完了,操作方法基本上都大同小异吧。

在使用.net来操作浏览器的时候,我发现操作同一个页面时,如果页面发生刷新或者跳转等动作后,程序经常会出bug,网上搜索了一下,发现还真不是我一个人,那如何来避免呢?

因为使用.net来第一次操作页面的时候是肯定不会出错的,必须是2次或2次以上才会出现错误,所以我们可以做两个程序,在一个程序中调用另一个,调用完之后,就把它关闭掉,这样每次都相当于启动一个新程序,就不会出bug了。

启动一个新程序用下面代码

传入你的程序的路径,就可以打开它了。

有了上面的知识,你可以自由的发挥了,比如你做一个定时程序,在上班时间自动打卡,然后自己接着睡一会儿....嘘!!这绝对不是我说的。

今天就介绍这么多了,欢迎继续关注我的博客

转载请注明: