首页 > 解决方案 > Chrome 控制台/扩展程序:访问 URL 并单击按钮。冲洗并重复不同的 URL

问题描述

最初的问题:

是否可以从 Chrome 的控制台运行 javascript,它将:

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

我想对数百个 URL 重复上述步骤。我敢肯定,如果我让这两个步骤在多个 URL 上进行迭代将是相当简单的。

所以,我已经让控制台在页面刷新之间持久化,所以这是一个好的开始......但似乎 Click 事件没有被触发。如果我手动导航到 URL 然后通过控制台运行它,则单击命令可以正常工作,但不能作为一整段代码运行。

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

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

编辑:下面的一位评论者建议使用 Chrome 扩展来实现这一点。这是我到目前为止所写的:

清单.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
}

背景.js

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

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

单击一个按钮:

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

标签: javascriptgoogle-chromegoogle-chrome-extensiongoogle-chrome-devtools

解决方案


经过进一步挖掘,这是一种方法:

清单.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
}

背景.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> "});                                 
 }
})

推荐阅读