Powershell: невозможно получить идентификатор id в Inte rnet Explorer (11) - PullRequest
0 голосов
/ 23 марта 2020

Итак, у меня есть URL, к которому я пытаюсь войти, используя код powershell. Я могу загрузить URL, но по какой-то неясной причине имя пользователя и пароль не будут переданы в поля. В итоге я получаю сообщение об ошибке ниже:

Вы не можете вызвать метод для выражения с нулевым значением.

Моим первым предположением было, возможно, время, затраченное на загрузку URL, поэтому я добавил start- спать только, чтобы узнать, что мне это тоже не поможет. IHTMLDocument3_ тоже не помогает.

Может ли кто-нибудь помочь мне с кодом здесь или поделитесь, пожалуйста?

$username = "user1" 
$password = "pass" 
$url="my application url"
$ie = New-Object -com InternetExplorer.Application 
$ie.visible=$true
$ie.navigate($url)
while($ie.ReadyState -eq 4) 
{
start-sleep -Milliseconds 10;
}
$ie.visible = $false
$ie.visible = $true
$ie.document.getElementById('login-form-username').value= "$username"
$ie.document.getElementById('login-form-login-password').value = "$password"
$ie.document.getElementById('login-form-login').click()


The html looks like below:

<input class="input-field" id="login-form-username" name="username" type="text" placeholder="Username" value="" tabindex="0"> <br>
            <input class="input-field" id="login-form-login-password" name="password" type="password" placeholder="Password" tabindex="0"> <br>


        <div class="input-field" style="border:none; padding-left: 0px" id="servers-input-field">
            <select id="login-form-servers" style="width: 300px; display: none;" tabindex="0">

                    <option value="Default Client">Default Client</option>

            </select><span class="ui-selectmenu-button ui-widget ui-state-default ui-corner-all" tabindex="0" id="login-form-servers-button" role="combobox" aria-expanded="false" aria-autocomplete="list" aria-owns="login-form-servers-menu" aria-haspopup="true" style="width: 298px;"><span class="ui-icon ui-icon-triangle-1-s"></span><span class="ui-selectmenu-text">Default Client</span></span>
        </div>



            <div class="rememberMeContainer">
                <input type="checkbox" name="rememberMe" id="rememberme-checkbox" class="rememberMeCheck" tabindex="0">
                <label for="rememberme-checkbox">Remember me</label>
            </div>


        <input class="input-field login-button" type="submit" value="Sign In" id="login-form-login" tabindex="0">

    </form>
</div>
...