鉴于:
我在Firefox电脑上打开Firefox页面标题页面。
这是我的命令:
xdotool search "[Firefox Page Title]" windowactivate --sync key --clearmodifiers ctrl+r
文档:
有文档/例子的xdotool网站在这里 。
直接来自xdotool网站的示例:
# As of version 2.20100623, you can do this simpler version of above: xdotool search "Mozilla Firefox" windowactivate --sync key --clearmodifiers ctrl+l
笔记:
我正在使用xdotool版本2.20110530.1。
该命令正确地将我的屏幕集中到我select的任何窗口标题,但是它不会将ctrl + r键发送到窗口,因为网站不刷新。 我从命令没有收到错误消息。 ( 在Firefox中刷新快捷方式是Ctrl + R )
想要的行为:
该命令将希望(当它的工作)应用到我的服务器计算机上全天候开放的Web服务器统计信息页面,我希望它自动刷新页面,以便我可以查看新的stream量到我的网站,而无需我做任何事。
编辑:我打开使用其他应用程序,可以提供这种function,如果你知道别的东西很容易/类似,请提供它作为答案! 如果我不能得到这个工作,我会默认到下一个最好的事情。
我试图发送按键到应用程序,我也得出结论,xdotool只是不能像描述的那样工作。 我结束了使用xvkbd做同样的事情。
对于你的例子,下面的命令在Firefox中刷新页面:
xvkbd -window Firefox -text "\Cr"
尝试了几种不同的方法让xdotool正常工作后, 我倾向于认为xdotool本身就是问题 。 这是我试过的,没有工作。
我也在脚本中尝试了这些命令,就像xdotool的首页一样,尽管它声称这是“旧”版本,因为它被分成多个命令。 “新”版本是我以前试图执行的版本,是一个单一的命令(见问题)。
WID=`xdotool search "Firefox Page Title"` xdotool windowactivate --sync $WID xdotool key --clearmodifiers ctrl+r
所有上述尝试总是正确地集中到我想要的窗口,但它不发送密钥是否是F5或ctrl + r。
但是,以下工作正常:
xdotool selectwindow key ctrl+r
要么
xdotool selectwindow key F5
selectwindow
命令在执行时将光标移动到一个矩形选择工具上,在这一点上,您可以选择要聚焦的窗口,在这种情况下,可以通过ctrl + r或F5键发送窗口。 不幸的是,这不是我正在寻找的,因为它需要用户输入才能正常工作。
最终解决方案
我的解决方案(因为我试图使用xdotool来不断刷新一个网页)是使用ReloadEvery Firefox插件,刷新任何你选择的时间间隔设置的页面。 它打算成为Opera浏览器内置的自动页面刷新功能的复制品,到目前为止,它运行良好。
对于那些使用Chrome浏览器并且正在寻找类似解决方案的用户,您也可以使用大量的附加组件。 https://chrome.google.com/webstore/search/auto%20refresh
我有键绑定WIN + SHIFT + S来获取窗口ID使用
xdotool getactivewindow getwindowgeometry
并赢得+ s刷新
xdotool key --window savedWindowID ctrl+r
xdotool
似乎不起作用的事实可能与检测和丢弃合成事件的应用程序有关:
向特定窗口发送按键使用不同的API,而不是简单地键入到活动窗口。
[…]
许多程序观察这个标志并拒绝这些事件。
考虑到这一点,我能够使它与下面的一系列命令一起工作。 这将重新加载Chromium和Firefox。
cwid=$(xdotool getwindowfocus) # Save the current window twid=$(xdotool search --name somename) xdotool windowactivate $twid sleep 0.1 # The key event might be sent before the window has been fully activated xdotool key --window $twid F5 xdotool windowactivate $cwid # Done, now go back to where we were
下面的xdotool命令完全适合我(切换到第一个找到的Firefox窗口,刷新当前选项卡):
xdotool search "Navigator" windowactivate key 'ctrl+r'
在xdotool 3.20140217.1上运行Ubuntu 14.04.1
对我来说,以下作品:
xdotool search --onlyvisible --class Firefox key F5
以及
{ xdotool search --onlyvisible --class Firefox windowfocus sleep 0.1 xdotool key ctrl+r }
但
xdotool search --onlyvisible --class Firefox key ctrl+r
和
xdotool search --onlyvisible --class Firefox windowfocus key ctrl+r
不工作。
所以看起来,使用组合键与修饰符需要一点点延迟,至少在Firefox(我可以发送Ctrl键到Emacs没有这样的问题,但是)。