Firefox从命令行刷新当前选项卡

时间:2011-04-04 22:38:38

标签: firefox shell automation

我想从命令行触发Firefox上的标签刷新。我正在开发一个Web应用程序,并在应用程序编译后进行刷新。我从IDE中的命令触发编译。它不是固定的URL,也不能从IDE中的打开文件派生。因此,当前打开的URL在活动选项卡中。

问题是,我是一个没有Xinerama支持的双头盒子,这意味着我无法使用alt + tab到Firefox,而是我必须将鼠标移动到另一个屏幕,点击Firefox然后按Ctrl + R.这不可能是正确的。

我尝试过某种书签,比如DISPLAY=':0.1' firefox -remote 'openurl(javascript:alert(1);)',但FF不会运行。

有什么想法吗?

5 个答案:

答案 0 :(得分:21)

您可以使用xdotool进行自动化。使用

在Ubuntu上安装
sudo aptitude install xdotool

然后您可以搜索窗口并发送密钥或鼠标事件,有关完整文档,请参阅man xdotool。我在开发期间在Ubuntu 16.04 LTS上使用以下脚本:

WID=`xdotool search --name "Mozilla Firefox" | head -1`
xdotool windowactivate $WID
xdotool key F5

注意:在旧版本中,例如Ubuntu 14.04标志为--title而不是--name

另见xdotool project sitemy full blog post

答案 1 :(得分:6)

我正在寻找相同的东西,但没有找到任何东西。但我现在使用的是一个Firefox插件,可以在更改配置的本地文件时重新加载页面。它名为Auto Reload

答案 2 :(得分:0)

IOPUS有一个名为IMACROS的漂亮工具。 您可以为浏览器编写宏,然后从脚本中调用宏。

答案 3 :(得分:0)

对于OS X,您可以使用以下几行AppleScript来完成:

activate application "Firefox"
tell application "System Events" to keystroke "r" using command down

答案 4 :(得分:0)

这是@geekQ脚本的更新版本,它将使焦点返回到先前的程序(但是,firefox窗口仍将拉至顶部)。

#!/bin/bash

CURRENT_WID=$(xdotool getwindowfocus)

WID=$(xdotool search --name "Mozilla Firefox")
xdotool windowactivate $WID
xdotool key F5

xdotool windowactivate $CURRENT_WID