10

現在、Xvfb および FireFox で shell_exec を使用してスクリーン ショットをキャプチャしています。ただし、shell_exec を使用して、html 全体をディレクトリにダウンロードする必要があります (例: [名前を付けて保存] --> [Web ページを完了])。Mozilla Developers Forums で利用可能なさまざまなオプションをすべて調べましたが、これを行う方法を理解できませんでした。

このコードは私が必要とするもののように見えますが、shell_exec でアクセスできるように、これはどこでどのように実装されていますか?

var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\filename.html");
var wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
.createInstance(Components.interfaces.nsIWebBrowserPersist);
wbp.saveDocument(content.document, file, null, null, null, null);

上記のコードソース

void saveDocument(
in nsIDOMDocument aDocument,
in nsISupports aFile,
in nsISupports aDataPath,
in string aOutputContentType,
in unsigned long aEncodingFlags,
in unsigned long aWrapColumn
);

上記のコードソース

ここには Stackoverflow の手動ソリューションがありますが、shell_exec には対応していません: How to save a webpageLocal including pictures,etc

4

1 に答える 1

1

私が知っているオプションはほとんどありませんが、あなたの質問に正確に適合するものはありません..

  1. シェルから開き、または同様の方法firefox http://yoursite.comを使用してキーストロークを Firefox に送信します。xte(ただし、これはヘッドレス モードではありません。)
  2. wget を使用してダウンロードします。再帰的に機能します。または、非常に単純な Web ページの場合は、HTML を解析することもできます。フォームを送信する必要がある場合は、wget の代わりに curl を使用してください。
  3. グリースモンキーアドオンを使用してスクリプトを作成すると、そのスクリプトが読み込まれhttp://some-fake-page.com/?download=http://yoursite.com、その偽のページの URL で Firefox が開きます。
  4. 上記の作業を行うには、独自の Firefox アドオンを開発してください。

これには他にもより良いオプションがあるかもしれませんが、私はそれらを知りません。

于 2013-02-03T11:33:40.283 に答える