我有一个带有按钮的页面,我正在创建一个chrome扩展来单击它,但是它不起作用:
<input type="submit" name="commit" value="add to basket" class="button"/>这是我的manifest.json
{
"description": "Click",
"manifest_version": 2,
"name": "click-product-addtocart-button",
"version": "0.1",
"permissions": [
"activeTab"
],
"background": {
"scripts": [
"background.js"
]
},
"browser_action": {
"default_icon": {
"32": "/images/icons/16.png"
},
"default_title": "Click product"
}
}这是我的background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {
code: "document.getElementByName('commit')[0].click();"
});
});我点击应用程序,但什么也没发生。我试过几件事,但似乎行不通。
发布于 2018-09-17 15:42:21
您的清单必须请求通过URL访问当前页的权限,以及仅访问当前选项卡的权限。更新您的权限如下:
"permissions": [
"activeTab",
"*://*/*"
],这将允许扩展访问任何页面。我还建议将name更改为id。这将防止今后出现任何混乱。您可以这样做:
<input type="submit" id="commit" value="add to basket" class="button">那么对于background.js:
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.executeScript({
code: "document.getElementById('commit').click();"
});
});您会注意到,我还删除了您在问题中的选项卡的特殊性。这是不必要的。
https://stackoverflow.com/questions/52370815
复制相似问题