質問: とあるサイトで以下のように記述されているボタンをchrome拡張機能を用いて発火させるのが目的です。 ``` ``` サイト上では、このボタンをマウスクリックすると作動する形になっています。 chromeデベロッパーツールのコンソール上で以下のように記述するとボタンが発火します。 ``` $('.btnNext').trigger("click"); ``` しかし、chrome拡張機能のbackground.jsで以下のコードを実行させても反応しません。 (popup.htmlにて用意したボタンをクリックするとbackground.jsのrunを実行するように設計しています) ``` function run(){ $('.btn btnNext').trigger("click"); } ``` サイト内のjavascriptにはアクセスできないということでしょうか? また、この場合chrome拡張機能にてボタンを発火させるにはどうすればよろしいでしょうか? よろしくお願いします。
回答: background.jsやpopup.htmlのファイル名から察するに、現在はmanifest.jsonのbackgroundとbrowser_actionキーからそれぞれのファイルを相対パスで指定して読み込んでいるのかな。 backgroundキーで読み込んだファイルはBackgroundコンテキスト、browser_actionキーで読み込んだファイルはbrowserActionコンテキストとしてそれぞれWebページとは異なる別の空間で実行されます。Webページの要素を参照したい場合はcontent_scriptsキーで読み込んでContentScriptsコンテキストで実行させる必要があるよ。 * コンテンツスクリプト - Mozilla | MDN