Скрипт веб-очистки работает только после неудачной первой попытки

У меня есть скрипт для автоматизации задачи в 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;

0 ответов

Другие вопросы по тегам