心血來潮,簡單的測試一下Powershell的IE自動化。
圖像界面:
訪問一個內部的https網頁,首先會彈出一個ssl信任證書的警告頁面,點擊確認之後進入登錄界面,輸入用戶名和密碼點擊登錄。
代碼如下:
#輸入url,用戶名和密碼 $Url = "https://10.2.1.18/admin/login.jsp” $Username=”admin” $Password=”ABCD” #創建一個IE對象,可視,加載 $IE = New-Object -com internetexplorer.application; $IE.visible = $true; $IE.navigate($url); #等待完全加載 while ($IE.Busy -eq $true) { Start-Sleep -s 2; } #通過url判斷,如果是ssl警告界面,那麼點擊<a>標籤繼續下一頁 if($IE.Document.url -match "invalidcert"){ Write-Host "Bypass SSL Error Page" -ForegroundColor Cyan $link=$IE.Document.getElementsByTagName('A') | Where-Object{$_.id -eq 'overridelink'} Write-Host "Loading Login page " -ForegroundColor Cyan $link.click() } #等待完全加載 while ($IE.Busy -eq $true) { Start-Sleep -s 2; } #通過html的標籤id來選擇對應的元素,當然根據實際情況可以選擇class,name或者tagname;然後給value賦值 $IE.Document.getElementById(“dijit_form_TextBox_0”).value = $Username $IE.Document.getElementByID(“dijit_form_TextBox_1”).value=$Password #最後在按鈕上執行點擊事件 $IE.Document.getElementById(“loginPage_loginSubmit_label”).Click() Write-Host "Submit the login" -ForegroundColor Cyan
登錄成功