Скрипт веб-очистки работает только после неудачной первой попытки
У меня есть скрипт для автоматизации задачи в Internet Explorer. Но скрипт работает только после первого сбоя.
Если я открою powershell.exe
и запустить скрипт, он дает мне ошибку
Невозможно вызвать метод для выражения с нулевым значением.
но если я нажму F5 и запустлю его снова, с тех пор он работает отлично. Если я закрою PowerShell и снова открою, ошибка вернется снова с первой попытки.
Логика для сценария в основном это
$doc = $ie.Document;
$frames = @($doc.getElementsByTagName("FRAME"));
foreach ($frame in $frames) {
try {
$inputs = @($frame.ContentWindow.document.getElementsByTagName("INPUT"));
foreach ($button in $inputs |
where {$_.type -eq "button" -and $_.value -eq "Ny sag"}) {
$button.click(); $x = 11;
}
} catch {
Exception -errtxt $error[0] -custom_txt ("attempt # " + [string]$x);
}
}
Код терпит неудачу на линии
$inputs = @($frame.ContentWindow.document.getElementsByTagName("INPUT"));
Я пытался добавить веб-клиент по умолчанию, но ничего не изменилось.
$wc = New-Object System.Net.WebClient;
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials;