目前我正在研究一個腳本來自動化IE中的一個進程,以添加計算機名稱及其MAC,以便我們可以對它們進行映像。該頁面有兩個字段,一個用於MAC,另一個用於計算機名稱,然後添加新按鈕。目前它仍然是手動輸入,但我打算從csv中讀取一次執行大量組。用powershell關閉彈出窗口
我現在遇到的問題是每當有一個重複的記錄它告訴你一個JavaScript彈出。該彈出窗口禁用與IE頁面的交互。我需要一種方法來關閉條目間的彈出窗口。
這就是我的代碼目前的樣子。
cls
$URL = ""
$iterator = 1;
#starts IE
$ie = new-object -ComObject "InternetExplorer.Application"
#visible for testing purposes
$ie.visible = $true
#$ie.silent = $true
$ie.navigate($URL)
#Manual Input
$newMAC = read-host -prompt 'Input MAC here'
$newNAME = read-host -prompt 'Input Computer Name here'
while($ie.Busy -eq $true) { start-sleep -Milliseconds 100 }
#enters information into appropriate fields and clicks the add button
($ie.document.getElementsByName("mc_id") |select -first 1).value = $newNAME;
($ie.document.getElementsByName("mac_id") |select -first 1).value = $newMAC;
($ie.document.getElementsByName("btnAddNew") |select -first 1).click();
編輯:
我決定的那一刻,在結束我的COM對象爲每個新進入一個草率的解決方案。然而,我現在有導入csv供腳本讀取的問題。
Yikes,我甚至不知道PowerShell可以做到這一點。由於這是用JavaScript標記的,JavaScript解決方案可以接受嗎? – Gerrit0
一種可能的方法是使用user32.dll上的某個函數,如[DestroyWindow](https://msdn.microsoft.com/en-us/library/windows/desktop/ms632682(v = vs.85)。 aspx)p/invoke簽名可以[在這裏找到](http://www.pinvoke.net/default.aspx/user32.DestroyWindow)這裏是一個[使用P/invoke簽名的指南](http:// www .leeholmes.com/blog/2009/01/19/powershell-pinvoke-walkthrough /) – BenH
@BenH我會研究這個,謝謝你的建議。 –