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

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

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

 分类:

Windows(42) 

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

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

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

[vb] view plain copy

  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内自动操作

[vb] view plain copy

  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是需要掌握的。

时间: 2024-12-15 04:54:14

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

VBS脚本操作网页元素

=================打开百度,点击百度按钮==================== Dim btn,ieSet ie = WScript.CreateObject("InternetExplorer.Application")ie.Visible = true '若为false,则不显示浏览器ie.navigate "www.baidu.com" DoWscript.Sleep 200Loop Until ie.readyState = 4 '等页面载

自动加域脚本,bat和vbs配合使用,使加域操作更简单

我的实验:编写自动加域脚本(总结)1.自动加域脚本的目的.A.减少重复繁杂的必要操作,提高工作效率.B.使加域操作更简单,更有乐趣. 2.自动加域的实现方式,分为三个步骤.A.使用bat和vbs相互配合.(因为本人编程水平不高)B.更改电脑名字.(不需要重启电脑)C.更改电脑IP地址及DSN.(选择自动获取还使手动配置)D.调用Vbs文件完成自动加域操作.(不解释为什么要调用vbs,而不直接用bat完成) 3.相关文件.A.链接:https://pan.baidu.com/s/1sZmCisS1

Vbs 脚本编程简明教程之一

-为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件事情就是打开 WORD ,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某 些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往

Vbs脚本经典教材

转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可

使用VBS脚本实现的Hosts文件一键配置

hosts文件存储了IP地址与域名的映射.因为有的时候需要经常性地配置hosts文件,因此这段时间我琢磨了一套傻瓜化的hosts文件配置方案,记录如下. 先说一下怎么样进入hosts文件,Windows环境(我用的是一个32位的Win7)下hosts文件在计算机中的位置,在目录%windir%\System32\drivers\etc\hosts下.不过相比每次都要点很多目录才能找到hosts文件,我们可以通过执行下面这个脚本直接用记事本打开hosts文件: @echo off  if "%1&

webBrowser中操作网页元素全攻略

webBrowser中操作网页元素全攻略 2012-12-20 14:21 188人阅读 评论(0) 收藏 举报 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBrowser1.Document.GetElementById("控件ID").InnerText; 或webBrowser1.Document.GetElementById("控件ID").GetAttr

vbs脚本

巧用Vbs SendKeys 可以做的事 发布: 2014-04-06 10:00:20 | 作者: | 来源: 按键精灵资源站 巧妙使用VBS中的SendKeys命令(这个命令的作用就是模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行),可以极大的方便我们的常用操作.其使用格式为: Object.SendKeys string其中: Object:为WshShell对象,即脚本的第一行为: Set WshShell=WScript.CreateObject("W

vbs脚本大全2

http://www.miaoqiyuan.cn/p/wshell-sendkey ---Just Do It--------------------------------- 让VBS脚本自动在词本中输入一行文字"Hello, welcome to cfan". Dim WshShell Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run "notepad" WScri

vbs脚本大全

1. 取得本机IP strComputer = "."  Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration Where IPE