从 Linux 终端发送 javascript 到 Chromium 或 Firefox

从 Linux 终端发送 javascript 到 Chromium 或 Firefox

我在 kiosk 模式下使用 chromium 或 firefox Web 浏览器从启动时登录网站,并且我想使用 javascript 发送命令以自动登录网站。我知道如何编写 javascript,但我不知道如何将 javascript 从终端 bash 文件“通过管道”传输到 Web 浏览器中。另外,我在 Linux 上工作。

答案1

在 OS X 中,您可以使用 AppleScript 在 Chrome 中运行 JavaScript:

xj(){ osascript -e'on run{a}' -e'tell app"google chrome"to tell active tab of window 1 to execute javascript a' -eend "$1"; }

Firefox 不支持 AppleScript。

答案2

我不确定 Firefox 是否能够做你想做的事,尽管有很多命令行选项用于从脚本启动 Firefox。

Chrome 有更多选择也许能够从本地源执行 javascript,但我对此表示怀疑。

如果您能以某种方式通过开发人员控制台传递 javascript,那么您肯定可以在 Web 浏览器会话中执行任意代码(即自动登​​录或其他)。

黑客攻击

由于您绝对可以从脚本中为两种浏览器指定起始 url,因此也许以下内容可以工作1

  1. 编写一个脚本,自动导航到您要登录的网页并完成登录过程(即POST登录表单,等等)。

  2. 将此文件保存到磁盘并确保用户可以读取它。

  3. 启动 Firefox 并将其指向此文件:

     ./firefox -url "file:///home/thisUser/desktop/foo.html"
    

我不确定 url 方案file:///是否适用于所有情况,但我确实在 OSX 上测试了它。

这应该加载文件并尝试呈现内容。这file:///只是一种不必在本地主机上运行 Web 服务器的方法,但这也可以工作。

您可能会遇到 XSS 问题或其他远程登录障碍,因此您可能必须恢复到服务器端脚本并将浏览器指向localhostWeb 服务器。

祝你好运!

1我还没有完全测试过,只是抛出一个想法。

相关内容