Chrome Сценарий расширения содержимого не может получить элемент DOM - PullRequest
1 голос
/ 31 января 2020

В моем contentScript. js я пытаюсь получить название этой проблемы leetcode.com (https://leetcode.com/problems/maximum-score-words-formed-by-letters/) из DOM и отправить ее в виде сообщения на мой фон. js, но возвращает только ноль.

background. js

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) { 
    console.log("request: ", request)
    console.log("sender: ", sender.url)
  });

contentScript. js

problemName = document.querySelector('div[data-cy="question-title"]');
chrome.runtime.sendMessage({problemName: problemName});

манифест. json

{
    "name": "Random Background Color",
    "version": "1.0",
    "description": "building my first extension!",
    "permissions": [
        "declarativeContent",
        "storage",
        "activeTab",
        "tabs",
        "webNavigation",
        "contextMenus",
        "https://leetcode.com/"
    ],

    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },

    "content_scripts": [
        {
            "matches": ["https://leetcode.com/problems/*"],
            "js": ["contentScript.js"]

        }
    ],

    "browser_action": {
        "default_popup": "popup.html",
        "default_icon": {
            "16": "images/get_started16.png",
            "32": "images/get_started32.png",
            "48": "images/get_started48.png",
            "128": "images/get_started128.png"
          }
    },

    "icons": {
        "16": "images/get_started16.png",
        "32": "images/get_started32.png",
        "48": "images/get_started48.png",
        "128": "images/get_started128.png"
    },
    "manifest_version": 2
}

поэтому в моей консоли расширения chrome это выглядит следующим образом

request:  {problemName: null}
sender:  https://leetcode.com/problems/maximum-score-words-formed-by-letters/

problemName равно нулю, но когда я запускаю

document.querySelector('div[data-cy="question-title"]');

внутри консоли на https://leetcode.com/problems/maximum-score-words-formed-by-letters/ отправляет мне правильный заголовок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...