0

Chrome 拡張機能を使用して、ブラウジングとナビゲーションを (条件付きで) 自動化できる可能性を調査しています。私の希望は、拡張機能がリモート ページを (バックグラウンドで) 読み込み、javascript を挿入してクリック可能なリンクを評価し、(クリック メソッドを呼び出して) 適切な (いくつかの JavaScript ロジックによって評価された) リンクをクリックし、結果のプロセスを繰り返すことができることです。ページ。

私のjavascriptの能力は問題ではありませんが、Chrome拡張機能がページを後ろからロードしてスクリプトを挿入できるかどうか(DOMにアクセスできるようにするかどうか)を判断するのに苦労しています。

誰かがそうする能力を確認 (または拒否) できれば幸いです。もしそうなら、次にどこを調査すべきかについての役立つ指針を教えてください。

@Rob W - 実験的な機能が法案に完全に適合しているようです。しかし、私の最初のテストでは、機能がまだ非常に実験的であることを示しているようです...つまり. コールバックから返されるオブジェクトはありません:

background.html

function getAllosTabs(osTabs){
 var x = osTabs;
 alert(x.length); // error: osTabs is undefined
}

function createOffScreenTabCallback(offscreenTab){
 document.write("offscreen tab created");
 chrome.experimental.offscreenTabs.getAll(getAllosTabs);
 alert(offscreenTab); // error: offscreenTab is undefined
}

var ostab = chrome.experimental.offscreenTabs.create({"url":"http://www.google.com"}, createOffScreenTabCallback)
alert(ostab); // error: ostab is undefined

github の chromium ソース コードをさらに掘り下げると、バックグラウンドから offscreenTab を作成する際の制限が明らかになりました。

関連する WebContents がないため、背景ページからオフスクリーン タブを作成できないことに注意してください。オフスクリーン タブの有効期間は作成中のタブに関連付けられているため、親として表示されるタブを要求すると、オフスクリーン タブのリークを防ぐことができます。

これまでのところ、バックグラウンドで (自動的かつ条件付きで) ブラウズする拡張機能を作成できる可能性は低いようですが、それでも試してみます。ポップアップのスクリプトから作成するとうまくいくかもしれません。コンピューターの起動時に自動的に実行されることはありませんが、ブラウザーが開いていて、ユーザーがブラウザー アクションをクリックすると実行されます。

さらなる提案は大歓迎です。

4

1 に答える 1

1

いくつかの説明:

  • 拡張機能のバックグラウンド ページ (iframe を使用) 以外に「バックグラウンド」タブはありませんが、iframe にロードされたページは、フレームにロードされていることを認識でき、最高のカウンター フレーム ブレーカー スクリプトでも壊れたり壊れたりする可能性があります。
  • offscreenTab はまだ実験的であり、意図した用途が必要なものとは異なるため、非常に目立ちます。
  • コンテンツ スクリプトでありchrome.tabs.update()、自動ナビゲーション部分を処理する唯一の方法です。プログラムが非常に厳しいことを除けば、CSP (Content-Security-Policy) やイベント データを分離する分離されたコンテキストなど、問題や制限は数多くあります。

代替案...実際には多くありません。問題は、ユーザーのコンピューターとブラウザーを使用して物事を実行していることです。それらがどれほど汚れていなくても、chrome の開発チームはそれを気に入らず、あなたと拡張機能で多くのことを行います (v2 マニフェストなど)。 .

NPAPI を使用して別のインスタンスを開始できますchrome.exe --load-extension=iMacros.

于 2012-07-09T01:41:34.950 に答える