Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在来自PowerShell的命令上在Firefox中执行JavaScript_Javascript_Powershell_Firefox - Fatal编程技术网

在来自PowerShell的命令上在Firefox中执行JavaScript

在来自PowerShell的命令上在Firefox中执行JavaScript,javascript,powershell,firefox,Javascript,Powershell,Firefox,我正在尝试为内部发行版制作Powershell应用程序。我的用户不能安装任何开发工具、浏览器扩展或可执行文件,我也不能 用户需要访问某个网页并从该网页中删除数据。目前,我可以将代码复制并粘贴到Firefox控制台中,以实现这一点,但由于浏览器支持,该代码在IE中失败。用户都将拥有Firefox 我正在尝试使用Powershell前端,以确保广泛的用户支持。我有一个GUI,可以使用搜索词并将Firefox导航到相关页面。但是,我找不到执行JS的方法 如果我使用IE,我会让Powershell做:

我正在尝试为内部发行版制作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,在那里我可以对其进行进一步操作或在本地保存结果。

站点上的JavaScript是否加载了一些以前没有的内容?如果是这样,您可以使用PowerShell触发相同的JavaScript操作(AJAX调用)并以这种方式获得结果。如果这听起来像你的情况,我将带你完成整个过程。脚本必须在加载特定页面的情况下运行,否则我会出现CORS错误。如果我尝试使用wget从Powershell版本的脚本中执行此操作,则网站会将我捕获。它使用普通的XMLHttpRequests根据用户输入对该站点进行各种调用,并收集相关数据。Powershell可以做到这一点吗?有关提取要在Powershell中使用的JavaScript调用的方法,请参阅中的解决方案。