Firefoxで現在開いているページを取得
前に作ったスクリプトをちょこちょこ変更したり.
リモートのFirefoxにURIを投げる - speg03の雑記帳
openがあるんだったらcloseもいるだろとか,今開いているページのURLが欲しかったので取得できるようにしたり.
telnetでつなぐところなんかはみんな同じだし,いっそのこと一つのスクリプトにしちゃおうかと.
#!/usr/bin/env ruby # -*- mode: ruby -*- require 'net/telnet' if ARGV.length == 0 then puts "usage: fx command" exit end telnet = Net::Telnet.new('Host' => 'hostname', 'Port' => '4242') case ARGV[0] when 'open' ARGV[1..(ARGV.length - 1)].each do |uri| telnet.cmd("openNewTabWith('#{uri}')") end when 'close' telnet.cmd("BrowserCloseTabOrWindow()") when 'current' telnet.cmd("content.location.href") puts telnet.waitfor(/^".*"$/).match(/^"(.*)"$/)[1] else STDERR.puts "undefined command: #{ARGV[0]}" end telnet.cmd('repl.quit()') telnet.close
これで使うときは以下のようにしてる.
$ fx open www.google.com # URLを開く $ fx close # 今開いているタブを閉じる $ fx current # 今開いているページのURLを出力 http://www.google.com/