我想从命令行触发Firefox上的标签刷新。我正在开发一个Web应用程序,并在应用程序编译后进行刷新。我从IDE中的命令触发编译。它不是固定的URL,也不能从IDE中的打开文件派生。因此,当前打开的URL在活动选项卡中。
问题是,我是一个没有Xinerama支持的双头盒子,这意味着我无法使用alt + tab到Firefox,而是我必须将鼠标移动到另一个屏幕,点击Firefox然后按Ctrl + R.这不可能是正确的。
我尝试过某种书签,比如DISPLAY=':0.1' firefox -remote 'openurl(javascript:alert(1);)'
,但FF不会运行。
有什么想法吗?
答案 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
。
答案 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