PowerShell小技巧實現(xiàn)IE Web自動化
更新時間:2014年09月17日 11:11:32 投稿:hebedich
使用IE的COM對象來完成簡單的Web自動化測試,是最小巧和廉價的Web自動化測試了,因為它不用引入第三方插件或者工具。
Windows 系統(tǒng)自帶的Internet Explore +加上PowerShell 即可搞定。
今天就分享下這幾天自己寫的幾個小函數(shù),歡迎拍磚:
# # 打開IE窗口 # function New-IEWindow { param( [string]$Url, [switch]$Visible, [switch]$FullScreen ) $Global:IEHost = new-object -com "InternetExplorer.Application" $Global:IEHost.Navigate($Url) #設(shè)置IE可見性和全屏 $Global:IEhost.Visible= $Visible $Global:IEHost.FullScreen= $FullScreen } # #等待IE加載完畢 # function Wait-IEReady([int]$TimeoutSeconds=10) { $milliseconds=0 $maxMilliseconds = $TimeoutSeconds * 1000 while($Global:IEHost.Busy) { if($milliseconds -gt $maxMilliseconds) { throw 'Wait ie ready timeout.' } sleep -Milliseconds 100 $milliseconds+=100 } } # # 根據(jù)ID,Class,Name,Tag獲取HTML元素 # function Get-HtmlElement ($Id,$Name,$Class,$Tag) { if($Id) { return $IEHost.Document.getElementById($id) } elseif($Name) { return $IEHost.Document.getElementsByName($Name) } elseif($Class) { $IEHost.Document.all | where {$_.className -contains $Class} } elseif($Tag) { $IEHost.Document.getElementsByTagName($Tag) } } # #關(guān)閉IE窗口 # function Close-IEWindow { $Global:IEHost.quit() Remove-Variable IEHost -Force } # #設(shè)置IE的地址 # function Navigate-IE($Url) { Set-IE -URL $Url } # # 設(shè)置IE的地址,或者動作:前進,倒退,刷新 # function Set-IE { param( [ValidateSet('GoBack', 'GoForward','Refresh')] [string]$Action, [uri]$URL ) # 動作 switch($Action) { ('GoBack'){ $Global:IEHost.GoBack() } ('GoForward'){ $Global:IEHost.GoForward() } ('Refresh'){ $Global:IEHost.Refresh() } } # 設(shè)置IE地址 if( $URL) { $Global:IEHost.Navigate($URL) } } # # 在IE窗口中執(zhí)行腳本 # function Invoke-IEScript($Code,$Language='Javascript') { if( -not [string]::IsNullOrWhiteSpace($Code)) { $Global:IEHost.Document.parentWindow.execScript($Code,$Language) } }
相關(guān)文章
Powershell小技巧之創(chuàng)建短網(wǎng)址
短網(wǎng)址服務(wù),可能很多朋友都已經(jīng)不再陌生,特別是在微博應(yīng)用中十分普遍,比如,當我們在騰訊、新浪微博發(fā)微博時有時發(fā)很長的網(wǎng)址連接,但由于微博只限制140個字,所以微博就自動把您發(fā)的長網(wǎng)址給轉(zhuǎn)換成短網(wǎng)址了。今天我們來探討下,如何用powershell來便捷的使用短網(wǎng)址2014-10-10Powershell的break、continue和return簡單總結(jié)
這篇文章主要介紹了Powershell的break、continue和return簡單總結(jié),和其它語言中的作用相同,所以本文的總結(jié)比較短小,需要的朋友可以參考下2014-07-07