Я пытаюсь автоматизировать задачу на работе, которая требует от меня манипулирования 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);