本來是想通過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"
'等待網頁打開成功,qq郵箱參照前面自動填寫用戶名和密碼提交,下面的id都是登錄qq郵箱后的頁面才有
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是需要掌握的。