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

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

 分类:

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

 

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

 

[vb] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  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.   
  6. Do  
  7. Wscript.Sleep 200  
  8. Loop Until ie.readyState = 4   
  9.   
  10. Set con=ie.Document.getElementById("kw")  
  11. con.value="big data"  
  12.   
  13. Set btn=ie.Document.getElementById("su")  
  14. btn.click  

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

 

 

[vb] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. Dim wsh,ie,btn,obj,sel,del  
  2.   
  3. Set wsh=CreateObject("wscript.shell")   
  4. Set ie = WScript.CreateObject("InternetExplorer.Application")  
  5. ie.Visible = true  
  6. ie.navigate "http://mail.qq.com"    
  7.   
  8. '等待网页打开成功,<span style="font-family: Arial, Helvetica, sans-serif;">qq邮箱参照前面自动填写用户名和密码提交,下面的id都是登录qq邮箱后的页面才有</span>  
  9. Do  
  10. Wscript.Sleep 200  
  11. Loop Until ie.readyState = 4   
  12.   
  13. '找到指定id的a标签并点击  
  14. Set btn =ie.Document.getElementById("folder_1")  
  15. btn.focus  
  16. btn.click  
  17. wsh.SendKeys "{ENTER}"   
  18.   
  19. '等待网页打开成功  
  20. Do  
  21. Wscript.Sleep 200  
  22. Loop Until ie.readyState = 4   
  23.   
  24. '通过frame/iframe的id获取其页面  
  25. set obj = ie.document.frames("mainFrame").document  
  26. '全部勾选checkbox  
  27. Set sel=obj.getElementById("ckb_selectAll")  
  28. 'sel.checked=true  
  29. sel.click  
  30. Wscript.Sleep 2000  
  31. 'a标签点击  
  32. Set del=obj.getElementById("quick_completelydel")  
  33. del.click  
  34.   
  35. '从页面中找到指定id的元素  
  36. 'For i=0 To obj.all.length-1  
  37. 'If obj.all(i).id="id no" Then   
  38. '   msgBox "get"  
  39. 'End If  
  40. 'Next  
总结:要实现对网页的自动操作,比如用于测试或者一些批量工作,首先要解析网页的元素,然后针对元素进行自动操作,HTML DOM是需要掌握的。
posted @ 2017-01-15 00:43  吃饭了吗  阅读(3929)  评论(0编辑  收藏  举报