我有一个带有按钮的页面,我正在创建一个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();"
});
});
我单击该应用程序,但没有任何反应。我已经尝试了几种方法,但是似乎不起作用
您的清单必须请求通过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();"
});
});
您会注意到,我也删除了您在问题中使用的标签的特殊性。这不是必需的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句