Как выполнить файл content.js во вновь открытой вкладке «Расширение Chrome»? - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь автоматизировать задачу на работе, которая требует от меня манипулирования DOM двух веб-сайтов и передачи значений между ними. Я решил сделать расширение Chrome, так как это кажется единственным способом сделать это. Я получил код, где он открывает новую вкладку и закрывает ее через несколько секунд. Теперь я пытаюсь манипулировать DOM вновь открывшейся вкладки («google.com») и автоматически вводить «google me» в строке поиска. Однако, когда я добавил манипуляцию DOM в свой код, он, кажется, не обращает на это никакого внимания или не пытается выполнить его на первом веб-сайте. Итак, в итоге, у меня есть веб-сайт A и веб-сайт B. Я стараюсь постоянно держать веб-сайт A открытым, получать значения форм и сохранять их в переменных, открывать веб-сайт B и вводить эти переменные в другую форму. Кстати, я делаю это на рабочем компьютере, поэтому не говорите мне загружать какое-либо программное обеспечение для автоматизации или что-то еще, у нас нет этого разрешения. Надеюсь, что все это имеет смысл, вот мои файлы:

manifest.json:

{
  "manifest_version": 2,

  "name": "Click to execute",
  "description": "Execute script after click in popup.html (chrome extension) http://stackoverflow.com/questions/20764517/execute-script-after-click-in-popup-html-chrome-extension.",
  "version": "1.0",

  "icons": {
    "48": "icon.png"
  },

  "permissions": [
    "tabs", "<all_urls>", "activeTab"
  ],

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

content.js:

let theWindow;
let changeInp;

let firstCl = function() {
  document.getElementsByClassName('nav-link')[6].click();
};


let openWin = function() {
  theWindow = window.open('https://www.google.com', '_blank');
};

let changeWin = function(){

    changeInp = document.getElementsByName('q')[0];
    changeInp.value = "google this";
};

let closeWin = function() {
  theWindow.close()
};


setTimeout(firstCl, 3000);
setTimeout(openWin, 6000);
setTimeout(changeWin, 10000)
setTimeout(closeWin, 15000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...