Скрипт Powershell.Как вызвать событие изменения поля ввода в браузере? - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь изменить поле ввода на следующем веб-сайте и вызвать соответствующее событие.(поле «Target Output Frequency:» во вкладке «Spur Table») https://www.analog.com/designtools/en/simdds/?part=AD9914&fin=3.5G&mult=1&ftw=24C118DE&rso=111111&harmonicDB=-40&useFilters=1&fType=0&fTop=0&fOrder=6&fc=900M

Я использовал следующий код.Мне удалось щелкнуть вкладку и изменить значение поля ввода, но я не смог вызвать соответствующее событие.Не могли бы вы подсказать мне, как это сделать?

$ie = New-Object -ComObject 'internetExplorer.Application'
$ie.Visible= $true
$ie.Navigate("https://www.analog.com/designtools/en/simdds/?part=AD9914&fin=3.5G&mult=1&ftw=24C118DE&rso=111111&harmonicDB=-40&useFilters=1&fType=0&fTop=0&fOrder=6&fc=900M")

while ($ie.Busy -eq $true){Start-Sleep -seconds 1;}  

$spurtableBTN = $ie.Document.body.getElementsByClassName("dds-table-tab") | Where { $_.id -eq 'spur_table_tab' }

$spurtableBTN.click()

$inputFreq = $ie.Document.body.getElementsByClassName("ember-text-field") | Where { $_.id -eq 'target_output_freq_textbox' }
$inputFreq.value = "600M"
$inputFreq.onblur()

1 Ответ

0 голосов
/ 02 декабря 2018

Вы не можете сделать это с этим сайтом, как вы пытаетесь, потому что они предотвращают это.

Если вы зайдете дальше в исходный код на странице, они перехватят все события элемента, на которые вы пытаетесь ориентироваться, используя несколько функций.

Обычно любое интерактивное событие будет вызывать обновление после изменения в этом поле частоты.Поскольку вы не можете вызывать или запускать эти методы в их функциях из PowerShell, это будет ловушка22.

Возможно, вам придется прибегнуть к использованию чего-то вроде… Использование Selenium WebDriver с PowerShell

Чтобы получить необходимый уровень автоматизации.

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