Выполнить JavaScript в Firefox по команде из PowerShell - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь сделать приложение Powershell для внутреннего распространения. Мои пользователи не могут устанавливать какие-либо инструменты разработчика, расширения браузера или исполняемые файлы, и я тоже не могу.

Пользователи должны посещать веб-страницы и соскребать данные с этой страницы. В настоящее время я могу скопировать и вставить код в консоль Firefox, которая выполняет это, но этот код завершается ошибкой в ​​IE из-за поддержки браузера. У всех пользователей будет Firefox.

Я пытаюсь использовать интерфейс PowerShell для обеспечения широкой поддержки пользователей. У меня есть GUI, который может взять поисковый запрос и перейти на Firefox к соответствующей странице. Тем не менее, я не могу найти метод для выполнения моего JS.

Если бы я использовал IE, я бы попросил Powershell сделать:

$ie = New-Object -COM InternetExplorer.Application -Property @{
    Navigate = $url
    Visible = $false
}

Function ExecJavaScript($ie, $jsCommand, [switch]$global)
{
    if (!$global) {
        $jsCommand = "document.body.setAttribute('PSResult', (function(){$jsCommand})());"
    }
    $document = $ie.document
    $window = $document.parentWindow
    $window.execScript($jsCommand, 'javascript') | Out-Null
    if (!$global) {
        return $document.body.getAttribute('PSResult')
    }
}

$result = ExecJavaScript $ie $SomeJSCodeHere
Write-Output $result

, но мой код не работает в IE11 Я не могу этого сделать. Я не могу найти подобный метод, чтобы сделать это с Firefox. Преимущество приведенного выше сценария заключается в том, что он передает результаты кода JS обратно в Powershell, где я могу работать с ним дальше или сохранять результаты локально.

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