2016-08-23 21 views
0

Mozilla Firefoxをバッチファイルで開き、ネットワークモニタ(Ctrl + Shift + Q)を開いて特定のURLに移動することは可能ですか?完了すると(各アクションの間にいくつかのタイマーの遅延があるかもしれません)、Firefoxは終了します。バッチファイルによるMozilla Firefoxの制御

これは、ネットワークモニターがその内容をファイルに自動的にエクスポートするためです。手動で毎回チェックする必要はなく、特定のURLのコンテンツが期待どおりになるようにスケジュールを自動化する必要があります。

これは基本的にウェブ開発を支援するためのものです。

+2

[純粋であること行いますtag:batch-file]は(ほとんど)不可能だと思います。 [tag:auto-it]や[tag:autohotkey]はどうでしょうか? – aschipfl

+0

GUIの操作は、私が[batch-file]タグを使ってPowerShellを質問するのを2回しか勧めません。 – SomethingDark

+0

さて、新しい質問、私は何をしたいのですか? – DARKOCEAN

答えて

0

ウェブサイトの内容を確認したい場合や、利用可能な場合のみ文書化したい場合は、wgetをご覧ください。これで、ログやファイルのダウンロードをアーカイブすることができます。

0

だから、私はFirefoxのアドオンSDK拡張Firefoxの起動時に

  • ことを実行することになった:遅延の後、現在のタブ
  • ためreadyイベントが発生した後まで待ちは、ネットワークモニタを開きます。
  • ウェブページに移動します(google.com例のコード)
  • 準備完了イベントがそのナビゲーションで発生した後、追加の遅延を待ってFirefoxを終了します。

現在、ナビゲートするページはハードコードされています。必要な場合は、これをいくつかの異なる方法で設定できるようにすることができます。

以下はWindows 10で使用したときの外観です。jpm runはFirefoxアドオンSDKの開発版です。 SDKのアドオンをテストすることができます。あなたは、おそらくまた、 "jpm run does NOT work with Firefox 48, or later" を読みたくなります

LICEcap Firefox open Network Monitor, navigate to google.com, close Firefox

package.json

{ 
    "title": "Open Network Monitor, navigate, close", 
    "name": "netmonitor-navigate-close", 
    "version": "0.0.1", 
    "description": "Opens the network Monitor, navigates to a page, then closes Firefox", 
    "main": "index.js", 
    "author": "Makyen", 
    "engines": { 
     "firefox": ">=38.0a1", 
     "fennec": ">=38.0a1" 
    }, 
    "license": "MIT", 
    "keywords": [ 
     "jetpack" 
    ] 
} 

index.js

//Opens network monitor, navigates to a page, then closes Firefox. 

var pageToNavigateTo = "http://www.google.com"; 
//Whatever the home page is might have web access happen after 
// the ready event. Delay opening the Network monitor so those are skipped. 
var delayFirstTabReadyToOpenNetworkmonitor = 3000; //In ms. 3000 = 3 seconds 
var delayOpenNetworkmonitorToNavigate = 3000; //In ms. 3000 = 3 seconds 
var delayUrlReadyToClose = 5000; //In ms. 5000 = 5 seconds 


var tabs = require("sdk/tabs"); 
var utils = require('sdk/window/utils'); 
var activeWin = utils.getMostRecentBrowserWindow(); 

function getActiveWin() { 
    activeWin = utils.getMostRecentBrowserWindow(); 
} 
getActiveWin(); 

function openNetworkMonitor(){ 
    activeWin.document.getElementById('menuitem_netmonitor').doCommand(); 
} 

function receiveFirstTabReadyEvent(tab){ 
    getActiveWin(); 
    tabs.off('ready', receiveFirstTabReadyEvent); 
    activeWin.setTimeout(openNetworkMonitor,delayFirstTabReadyToOpenNetworkmonitor ,tab); 
    activeWin.setTimeout(navigateToTheUrl,(delayFirstTabReadyToOpenNetworkmonitor 
         + delayOpenNetworkmonitorToNavigate) ,tab); 
} 

function navigateToTheUrl(tab){ 
    tab.on('ready',theUrlIsReady); 
    tab.url=pageToNavigateTo; //navigate 
} 

function theUrlIsReady(tab){ 
    tab.off('ready',theUrlIsReady); 
    getActiveWin(); 
    //Some actions may take place in the page after the ready event. Thus, 
    // wait some extra time. 
    activeWin.setTimeout(exitFirefox,delayUrlReadyToClose); //Exit after delay 
} 

function exitFirefox(){ 
    getActiveWin(); 
    activeWin.document.getElementById('cmd_quitApplication').doCommand(); 
} 

tabs.on('ready', receiveFirstTabReadyEvent); 
+0

これは信じられないほどです。ありがとうございました! – DARKOCEAN