Chrome控制台/扩展程序:访问URL并单击一个按钮。冲洗并重复另一个URL

时间:2018-07-10 19:08:31

标签: javascript google-chrome google-chrome-extension google-chrome-devtools

初始问题:

是否有可能从Chrome的控制台运行javascript,

  1. 导航到给定的URL
  2. 单击按钮

我想对数百个URL重复上述步骤。 我敢肯定,如果我能完成遍及多个URL的两个步骤,将非常简单。

因此,我已使Console在页面刷新之间保持不变,因此这是一个不错的开始……但是看来Click事件似乎没有被触发。 如果我手动导航到该URL,然后通过控制台运行它,而不是将其作为完整的一段代码,那么click命令就可以正常工作。

这是我到目前为止的代码:

function f() {
window.location.href = "https://mywebsite.com/post"; 
document.querySelector('.post_like_button_class').click(); 
     }
f();

编辑: 以下评论者之一建议使用Chrome扩展程序来实现这一目标。这是我到目前为止写的:

manifest.json

{
"name": "Getting Started Example",
"version": "1.0",
"description": "Build an Extension!",
"browser_action": {
"default_icon": "images/get_started32.png",
"default_title": "Your title"
},
"background": {
"scripts": ["background.js"],
"persistent": false
},
"manifest_version": 2
}

background.js

chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({ url: "https://www.google.com" });
});

现在...我该如何执行任务的第二部分?我有点卡住了。

点击按钮:

document.querySelector('.post_like_button_class').click();

1 个答案:

答案 0 :(得分:0)

进一步挖掘之后,这是一种处理方法:

manifest.json

{
"name": "Getting Started Example",
"version": "1.0",
"description": "Build an Extension!",
"permissions": [ "*://*/*"
                ],
"browser_action": {
  "default_icon": "images/get_started32.png",
  "default_title": "Your title"
 },
"background": {
"scripts": ["background.js"],
"persistent": true
},
"manifest_version": 2
}

background.js

chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.update({ url: "https://www.instagram.com/p/Bk6AGDQFqvn/" });
});

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
        if (changeInfo.status == 'complete' && tab.active) {

chrome.tabs.executeScript(null,   
{code:" <INSERT YOUR JS CODE HERE> "});                                 
 }
})