2016-06-16 10:24 1068人阅读 评论(0) 收藏 举报
 分类:
Windows(42) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

本来是想通过JS实现对其他页面的控制,发现跨域无法获取页面DOM来操作。接着考虑bat,发现也实现不了,于是想到vbs。vbs还是很强大啊,病毒之类很多都是vbs脚本啊。vbs打开浏览器,然后通过dom来操作页面,可以实现自动填写内容和按钮点击等。摸索了几个常用的,代码如下:

1、网页文本框赋值并提交按钮

  1. Dim wsh,ie,btn,con
  2. Set ie = WScript.CreateObject("InternetExplorer.Application")
  3. ie.Visible = true
  4. ie.navigate "http://www.baidu.com"
  5. Do
  6. Wscript.Sleep 200
  7. Loop Until ie.readyState = 4
  8. Set con=ie.Document.getElementById("kw")
  9. con.value="big data"
  10. Set btn=ie.Document.getElementById("su")
  11. btn.click

2、动态js加载的网页,深入frame内自动操作

  1. Dim wsh,ie,btn,obj,sel,del
  2. Set wsh=CreateObject("wscript.shell")
  3. Set ie = WScript.CreateObject("InternetExplorer.Application")
  4. ie.Visible = true
  5. ie.navigate "http://mail.qq.com"
  6. '等待网页打开成功,<span style="font-family: Arial, Helvetica, sans-serif;">qq邮箱参照前面自动填写用户名和密码提交,下面的id都是登录qq邮箱后的页面才有</span>
  7. Do
  8. Wscript.Sleep 200
  9. Loop Until ie.readyState = 4
  10. '找到指定id的a标签并点击
  11. Set btn =ie.Document.getElementById("folder_1")
  12. btn.focus
  13. btn.click
  14. wsh.SendKeys "{ENTER}"
  15. '等待网页打开成功
  16. Do
  17. Wscript.Sleep 200
  18. Loop Until ie.readyState = 4
  19. '通过frame/iframe的id获取其页面
  20. set obj = ie.document.frames("mainFrame").document
  21. '全部勾选checkbox
  22. Set sel=obj.getElementById("ckb_selectAll")
  23. 'sel.checked=true
  24. sel.click
  25. Wscript.Sleep 2000
  26. 'a标签点击
  27. Set del=obj.getElementById("quick_completelydel")
  28. del.click
  29. '从页面中找到指定id的元素
  30. 'For i=0 To obj.all.length-1
  31. 'If obj.all(i).id="id no" Then
  32. '   msgBox "get"
  33. 'End If
  34. 'Next

总结:要实现对网页的自动操作,比如用于测试或者一些批量工作,首先要解析网页的元素,然后针对元素进行自动操作,HTML DOM是需要掌握的。

VBS脚本和HTML DOM自动操作网页的更多相关文章

  1. vbs脚本实现自动打字祝福&搞笑

    脚本祝福礼物 概述 听说抖音上流行一种用代码做程序表白的东西,,,, 当然我也不是要表白,,,, 但是好像蛮有意思的,,,, 于是,又学了一下vbs脚本,做了几个很不错的祝福脚本,不懂代码的可以直接戳 ...

  2. 自动删除超过30天文件的vbs脚本【转发】

    利用代码制作自动删除超过30天的文件及文件夹的vbs脚本,定期清理文件夹中长时间无用文件. 1.首先在新建一个文本文档,粘贴代码(代码可通过添加微信公众号vbs_edit(VBS脚本之家)回复018获 ...

  3. 2.如何实现使用VBS脚本程序对直播间自动评论

    前言:本文使用的是VBS脚本,实现了对繁星直播自动登录,自动进入房间并且自动评论. 前提准备:把需要刷的评论放到mysql中,再使用vbs读出评论 -------------------------- ...

  4. Vbs脚本经典教材(转)

    Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...

  5. Vbs 脚本编程简明教程之一

    —为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...

  6. Vbs脚本经典教材

    转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) —为 ...

  7. VBS脚本病毒特点及如何防范3(转)

    5.Vbs病毒生产机的原理介绍 所谓病毒生产机就是指可以直接根据用户的选择产生病毒源代码的软件.在很多人看来这或许不可思议,其实对脚本病毒而言它的实现非常简单. 脚本语言是解释执行的.不需要编译,程序 ...

  8. webBrowser中操作网页元素全攻略

    原文 webBrowser中操作网页元素全攻略 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBr ...

  9. 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01

    最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...

随机推荐

  1. SQL 课程

    今天,我主要学习了数据库的基本查询,模糊查询.排序查询.聚合函数.计数和分组,以及数学函数.字符串函数.时间日期函数. create database lianxi0720gouse lianxi07 ...

  2. .net解决js访问服务器端,跨域访问的问题

    在Global.asax.cs文件中,添加 protected void Application_BeginRequest(object sender, EventArgs e) { HttpCont ...

  3. CentOS 7 多网卡绑定

    根据官方文档Red_Hat_Enterprise_Linux-7-Networking_Guide-en-US用nmcli做起来还是相当容易的.下面把俺的步骤贴下. 1.查看目前网卡的名称和状态.#n ...

  4. install font

    哪些字体包含国际音标呢? 在微软的Windows与Office的2000或以上版本中分别带有Lucida Sans Unicode和Arial Unicode MS两种字体(以下分别简称LSU和AUM ...

  5. linux zeromq

    本人在centos下安装zeromq 1.下载最新版的zeromq http://download.zeromq.org/ 2 解压 tar -xvf zeromq-3.1.0-beta.tar.gz ...

  6. HDU3371--Connect the Cities(最小生成树)

    Problem Description In 2100, since the sea level rise, most of the cities disappear. Though some sur ...

  7. Windows进程间通信(中)

    二.文件映射 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待.因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容. W ...

  8. php file取重复

    function FetchRepeatMemberInArray($array) { // 获取去掉重复数据的数组 $unique_arr = array_unique ( $array ); // ...

  9. linux文件特殊属性介绍(s,s,t)

    文件的权限有rwx这3个读.写.执行的权限.但是,怎么 /tmp权限有些奇怪?还有, /usr/bin/passwd也有些奇怪,怎么回事呢? [root@linux ~]# ls -ld /tmp ; ...

  10. sql server基础学习之引号

    create table #(code varchar(20),value int)declare @sql varchar(200) set @sql='insert into # select ' ...