好的,我最近學會了如何使用$ie = new-object -com "internetexplorer.application"
命令來執行UI自動化。這對我嘗試在ASPX Web應用程序中自動執行的任務非常有用......直到我遇到了凍結我的腳本的模式彈出窗口。從我在線閱讀,我可能要通過運行在窗體上同一過程,使用forms.webbrowser control.Sample繞過這是繼網頁瀏覽器控件中的Powershell UI自動化
[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | out-null
[Reflection.Assembly]::LoadWithPartialName("System.Drawing")
$form = New-Object Windows.Forms.Form
$form.text = "My Form"
$form.size = New-Object Drawing.size @(700,600)
$web = New-object System.Windows.Forms.webbrowser
$web.location = New-object System.Drawing.Point(3,3)
$web.minimumsize = new-object System.Drawing.Size(20,20)
$web.size = New-object System.Drawing.size(780,530)
$web.navigate("http://myASPXsite.com")
$form.Controls.Add($web)
$form.showdialog()
$doc = $web.document
$doc.getElementbyID('txtUserName').value = "myUser"
的一點是,引用和調用HTML元素的能力不通過此方法工作。我可以導航到網頁,但沒有更多。可能是因爲web瀏覽器控件沒有與internetexplorer對象相同的功能。這是我使用其他方法的代碼。
$ie = new-object -com "internetexplorer.application"
$ie.navigate("http://www.MyASPXsite.com")
While ($ie.readystate -ne 4) {start-sleep -m 100}
$doc = $ie.document
$doc.getelementbyid('txtUserName').value = "myUser"
對我的情況有什麼想法?我甚至在正確的軌道上處理模態對話框?