PowerShell小技巧實(shí)現(xiàn)IE Web自動(dòng)化
Windows 系統(tǒng)自帶的Internet Explore +加上PowerShell 即可搞定。
今天就分享下這幾天自己寫(xiě)的幾個(gè)小函數(shù),歡迎拍磚:
# # 打開(kāi)IE窗口 # function New-IEWindow { param( [string]$Url, [switch]$Visible, [switch]$FullScreen ) $Global:IEHost = new-object -com "InternetExplorer.Application" $Global:IEHost.Navigate($Url) #設(shè)置IE可見(jiàn)性和全屏 $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的地址,或者動(dòng)作:前進(jìn),倒退,刷新 # function Set-IE { param( [ValidateSet('GoBack', 'GoForward','Refresh')] [string]$Action, [uri]$URL ) # 動(dòng)作 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)用中十分普遍,比如,當(dāng)我們?cè)隍v訊、新浪微博發(fā)微博時(shí)有時(shí)發(fā)很長(zhǎng)的網(wǎng)址連接,但由于微博只限制140個(gè)字,所以微博就自動(dòng)把您發(fā)的長(zhǎng)網(wǎng)址給轉(zhuǎn)換成短網(wǎng)址了。今天我們來(lái)探討下,如何用powershell來(lái)便捷的使用短網(wǎng)址2014-10-10探索PowerShell(十) 循環(huán)語(yǔ)句介紹
本節(jié)所要討論的內(nèi)容的實(shí)質(zhì)更多的偏向于程序設(shè)計(jì)方面,所以在此不做過(guò)多詳細(xì)講解,只針對(duì)PowerShell中的應(yīng)用進(jìn)行具體講解2012-12-12Windows Powershell強(qiáng)類(lèi)型數(shù)組
強(qiáng)類(lèi)型數(shù)組可以理解為強(qiáng)制數(shù)據(jù)類(lèi)型的數(shù)組,也就是一個(gè)數(shù)組里只包含一種數(shù)據(jù)類(lèi)型,強(qiáng)制轉(zhuǎn)換數(shù)組語(yǔ)法的優(yōu)勢(shì)就是如果使用分號(hào)代替逗號(hào)分隔值,PowerShell將每個(gè)值看作命令文本,PowerShell會(huì)執(zhí)行它并且存儲(chǔ)結(jié)果。2014-09-09Powershell 獲取特定的網(wǎng)頁(yè)信息的代碼
這篇文章主要介紹了Powershell 獲取特定的網(wǎng)頁(yè)信息的代碼,需要的朋友可以參考下2015-10-10Powershell的break、continue和return簡(jiǎn)單總結(jié)
這篇文章主要介紹了Powershell的break、continue和return簡(jiǎn)單總結(jié),和其它語(yǔ)言中的作用相同,所以本文的總結(jié)比較短小,需要的朋友可以參考下2014-07-07PowerShell小技巧之添加遠(yuǎn)程防火墻規(guī)則
本文主要介紹了將Windows Server 2012 Core的默認(rèn)控制臺(tái)設(shè)置成了PowerShell后,啟用了遠(yuǎn)程桌面,然后使用PowerShell添加PowerShell遠(yuǎn)程防火墻規(guī)則。希望對(duì)大家能有所幫助。2014-09-09PowerShell 自動(dòng)備份oracle并上傳到ftp
我這里有這樣一個(gè)需求:有一個(gè)數(shù)據(jù)庫(kù),每天使用SQL Server Agent自動(dòng)生成備份文件。然后,這個(gè)數(shù)據(jù)庫(kù)非常重要,需要把每天的備份上傳一個(gè)遠(yuǎn)程的FTP服務(wù)器上去。下面我們來(lái)看看如何使用Powershell來(lái)實(shí)現(xiàn)吧2015-08-08