PowerShell로 브라우저 제어

-- PowerShell 2011. 6. 15. 18:54
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

브라우저를 제어하는 소스가 있길래 구글 검색을 자동으로 하는 소스를 만들어봤다.

Function NavigateToApp($objBrowser, [string] $strURL, [string] $strCtrlID, [int] $intMaxDelays, [int] $intDelayMSec)
{
    $intDelays = 0
    $bLoaded = $false
   
    $objBrowser.Navigate($strURL)
   
    While($bLoaded -EQ $false -AND $intDelays -LT $intMaxDelays)
    {
        $intDelays++
       
        [System.Threading.Thread]::Sleep($intDelayMSec)
        $objDoc = $objBrowser.Document
       
        If($objDoc -EQ $null)
        {
            Continue
        }
       
        $objCtrl = $objDoc.getElementByID($strCtrlID)
       
        If($objCtrl -NE $null)
        {
            $bLoaded = $true
        }
    }
   
    If($intDelays -EQ $intMaxDelays)
    {
        throw "Browser not loaded after $intMaxDelays delays."
    }
}

$objIE = New-Object -ComObject InternetExplorer.Application
$objIE.Navigate("about:blank")
$objIE.Visible = $true

[System.Threading.Thread]::Sleep(2000);

# Resizing
$objIE.Height = 500
$objIE.Width  = 400

NavigateToApp $objIE "http://www.google.co.kr" "q" 100 2

$objDoc = $objIE.Document
$objSearchTxt = $objDoc.getElementByID("q")
$objSearchBtn = $objDoc.getElementByID("btnG")

If($objSearchTxt -EQ $null -OR $objSearchBtn -EQ $null)
{
    # Print Colored Text
    Write-Host "one or more controls are null" -backgroundcolor "red" -foregroundcolor "yellow"
    Exit
}

$objSearchTxt.Value = "powershell"
$objSearchBtn.Click()

IEControl.ps1

참고) http://msdn.microsoft.com/ko-kr/magazine/cc337896.aspx

posted by 어린왕자악꿍