VBS脚本和HTML DOM自动操作网页


版权声明:本文为博主原创文章,未经博主允许不得转载。
本来是想通过JS实现对其他页面的控制,发现跨域无法获取页面DOM来操作。接着考虑bat,发现也实现不了,于是想到vbs。vbs还是很强大啊,病毒之类很多都是vbs脚本啊。vbs打开浏览器,然后通过dom来操作页面,可以实现自动填写内容和按钮点击等。摸索了几个常用的,代码如下:
1、网页文本框赋值并提交按钮
- Dim wsh,ie,btn,con
- Set ie = WScript.CreateObject("InternetExplorer.Application")
- ie.Visible = true
- ie.navigate "http://www.baidu.com"
- Do
- Wscript.Sleep 200
- Loop Until ie.readyState = 4
- Set con=ie.Document.getElementById("kw")
- con.value="big data"
- Set btn=ie.Document.getElementById("su")
- btn.click
2、动态js加载的网页,深入frame内自动操作
- Dim wsh,ie,btn,obj,sel,del
- Set wsh=CreateObject("wscript.shell")
- Set ie = WScript.CreateObject("InternetExplorer.Application")
- ie.Visible = true
- ie.navigate "http://mail.qq.com"
- '等待网页打开成功,<span style="font-family: Arial, Helvetica, sans-serif;">qq邮箱参照前面自动填写用户名和密码提交,下面的id都是登录qq邮箱后的页面才有</span>
- Do
- Wscript.Sleep 200
- Loop Until ie.readyState = 4
- '找到指定id的a标签并点击
- Set btn =ie.Document.getElementById("folder_1")
- btn.focus
- btn.click
- wsh.SendKeys "{ENTER}"
- '等待网页打开成功
- Do
- Wscript.Sleep 200
- Loop Until ie.readyState = 4
- '通过frame/iframe的id获取其页面
- set obj = ie.document.frames("mainFrame").document
- '全部勾选checkbox
- Set sel=obj.getElementById("ckb_selectAll")
- 'sel.checked=true
- sel.click
- Wscript.Sleep 2000
- 'a标签点击
- Set del=obj.getElementById("quick_completelydel")
- del.click
- '从页面中找到指定id的元素
- 'For i=0 To obj.all.length-1
- 'If obj.all(i).id="id no" Then
- ' msgBox "get"
- 'End If
- 'Next
总结:要实现对网页的自动操作,比如用于测试或者一些批量工作,首先要解析网页的元素,然后针对元素进行自动操作,HTML DOM是需要掌握的。
VBS脚本和HTML DOM自动操作网页的更多相关文章
- vbs脚本实现自动打字祝福&搞笑
脚本祝福礼物 概述 听说抖音上流行一种用代码做程序表白的东西,,,, 当然我也不是要表白,,,, 但是好像蛮有意思的,,,, 于是,又学了一下vbs脚本,做了几个很不错的祝福脚本,不懂代码的可以直接戳 ...
- 自动删除超过30天文件的vbs脚本【转发】
利用代码制作自动删除超过30天的文件及文件夹的vbs脚本,定期清理文件夹中长时间无用文件. 1.首先在新建一个文本文档,粘贴代码(代码可通过添加微信公众号vbs_edit(VBS脚本之家)回复018获 ...
- 2.如何实现使用VBS脚本程序对直播间自动评论
前言:本文使用的是VBS脚本,实现了对繁星直播自动登录,自动进入房间并且自动评论. 前提准备:把需要刷的评论放到mysql中,再使用vbs读出评论 -------------------------- ...
- Vbs脚本经典教材(转)
Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...
- Vbs 脚本编程简明教程之一
—为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...
- Vbs脚本经典教材
转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) —为 ...
- VBS脚本病毒特点及如何防范3(转)
5.Vbs病毒生产机的原理介绍 所谓病毒生产机就是指可以直接根据用户的选择产生病毒源代码的软件.在很多人看来这或许不可思议,其实对脚本病毒而言它的实现非常简单. 脚本语言是解释执行的.不需要编译,程序 ...
- webBrowser中操作网页元素全攻略
原文 webBrowser中操作网页元素全攻略 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBr ...
- 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...
随机推荐
- java集合概念
Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程安全,效率 ...
- HDU 4381 Grid
背包变形. 将操作分为了两类,可以分开处理. 可以dp处理出L[i]:L[i]=-1代表从左到右 i 长度不能被拼凑出来,L[i]!=-1表示从左到右 i 长度能被拼凑出,并且最小费用为L[i]. 反 ...
- 查看apk包及Activity名方法
查看apk包名方法activity名: 方法一: aapt dump badging +客户端包所在路径+客户端包名称 如: aapt.exe dump badging K:\Apk\fanxing. ...
- prestashop 基本设置
不跳转 要先改这个UPDATE`ps_shop_url`SET`domain_ssl`= replace(`domain_ssl` ,'us2.try.net','www.gelchaussures. ...
- 如何将excel导入到数据库中并在gridview中显示
在页面上导入个excel文件,将该excel中的数据导入到数据库中,并且在页面的gridview中把数据显示出来. .在Asp.net中怎样将Excel文件中的数据导入到GridView中呢? 首先我 ...
- thinkphp的目录结构设计经验总结1
---恢复内容开始--- 用thinkphp开发了好些项目了:最近准备抽空写一些经验总结: 希望能给刚开始接触tp的童鞋们提供一些开发的方案:少走一些弯路:少踩一些坑: 这些绝对都是些精华干货:耐着性 ...
- 修改index.php 清空mylog1.txt
进入编辑php文件vim index.php(无则新建) -->进入命令行模式--输入a(append)-->进入编辑模式-->编辑好-->esc退出编辑模式-->:q! ...
- EntityFramework日志记录
首先在应用启动时执行:DbInterception.Add(new LogFormatter()); 然后加入如下类: #region [ EF的数据库执行日志记录 ] public class ...
- Ansible9:条件语句【转】
在有的时候play的结果依赖于变量.fact或者是前一个任务的执行结果,从而需要使用到条件语句. 一.when 有的时候在特定的主机需要跳过特定的步骤,例如在安装包的时候,需要指定主机的操作系统 ...
- HDU 2063 最大匹配的基础题
中文题,题目大意不说了. 思路:就是寻找最大匹配,最大匹配就是每次找增广路,如果存在增广,那就把增广路上面的边全部都翻转即可.这样说明能多匹配一个,+1即可. //看看会不会爆int!数组会不会少了一 ...