我正在尝试使工作自动化,这需要我操纵两个网站的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);