如何在新打开的标签页Chrome扩展程序中执行content.js?

时间:2019-10-22 04:52:30

标签: javascript google-chrome-extension

我正在尝试使工作自动化,这需要我操纵两个网站的DOM,并在两个网站之间传递值。我决定进行chrome扩展,因为这似乎是唯一的方法。我得到的代码是打开一个新标签页并在几秒钟后关闭它。现在,我正在尝试操纵新打开的标签页('google.com')的DOM,并使其在搜索栏中自动键入“ 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);

0 个答案:

没有答案