Задать вопрос
@Jeisooo
IT

Почему вылетает ошибка «Исключение из HRESULT: 0x80020101» при вызове getElementById()?

пишу скрипт на Powershell.
1. При попытке получить элемент в переменную вылезает исключение.
$ie = New-Object -ComObject "InternetExplorer.application"
$ie.visible = 1
while ($ie.Busy -eq $true) { Start-Sleep 1 }
$ie.Navigate("http://vk.com")
$ie.Document.getElementById('quick_email').value = 'mail'
$ie.Document.getElementById('quick_pass').value = 'pass'
$ie.Document.getElementById("quick_login_button").click();


1af172038f88420fb8faaffd93989ed4.png

Если для получения формы я нашел обходной путь

$ie.Document.forms[0].elements[8].value = 'email'
$ie.Document.forms[0].elements[9].value = 'pass'


, то для кнопки и события не могу найти.

2. Как получить коллекцию элементов DOM? Не только форм, но других типов?

Спасибо!
  • Вопрос задан
  • 775 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@azarij
В меру опытный никто
у меня ваш код работает ОК в таком виде:
$ie = New-Object -ComObject "InternetExplorer.application"
$ie.visible = 1
$ie.Navigate("http://vk.com")
while ($ie.Busy -eq $true) { Start-Sleep 1 }
$ie.Document.getElementById('quick_email').value = 'mail'
$ie.Document.getElementById('quick_pass').value = 'pass'
$ie.Document.getElementById("quick_login_button").click();


поменяны местами строки 3 и 4.
win10, ps5, ie11
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы