Итак, у меня есть 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>