Инициировать javascript событие объекта в powershell - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть следующий код для удаления страниц с помощью powershell. Я хотел бы вызвать событие javascript под названием «изменение», которое существует в элементе Select DOM на веб-странице. В этом случае событие «change» обновляет значения в таблице на основе значения элемента Select DOM.

$url = "https://www.investing.com/currencies/gbp-nzd-historical-data" 
$ie = New-Object -com internetexplorer.application; 
$ie.visible = $true; 
$ie.navigate($url); 
while ($ie.Busy() -and $ie.ReadyState -ne 4){ sleep -Milliseconds 6000 }

$ie.Document.getElementById("data_interval").selectedIndex = '1' // Select DOM element

$ie.Document.getElementById("data_interval").fireEvent("change")

Ошибки:

    Invalid argument.
At C:\Users\user\Documents\test.ps1:11 char:1
+ $ie.Document.getElementById("data_interval").fireEvent("change")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

Success

Использование « onchange » работает должным образом. Вы можете проверить то же самое, изменив значения « selectedIndex »

0 голосов
/ 18 апреля 2020

Используйте « onchange » вместо « change ». Функция " change " из библиотеки jQuery, которую вы будете получать в элементе inspect -> Event list, но через Powershell вы получаете javascript список функций объекта DOM, поэтому в идеале вам следует использовать OnChange .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...