目标 - 当用户点击特定网页上的Chrome扩展程序时,它会自动点击该网站页面上的特定按钮。
我已尝试使用以下方法生成自动点击,但这些方法都不起作用。
我从 content-script.js 中获取 background.js 中的DOM并运行以下命令(在后台页面中使用这些命令用于其他目的,相同的错误在内容脚本中运行时。)
$(HTML).find( “按钮”。)点击();
$(html).find('#button')。addEventListener('click',function(){ 警报( “你好”); });
button.addEventListener('click',function(){ 警报( “你好”); });
它要么给我错误,要么没有用。
第一个命令出错 -
jquery.min.js:4拒绝执行内联事件处理程序,因为它 违反了以下内容安全策略指令:“script-src 'self'blob:filesystem:chrome-extension-resource:“。或者是 'unsafe-inline'关键字,哈希('sha256 -...')或nonce ('nonce -...')是启用内联执行所必需的。
我也尝试在 manifest.json 中添加此内容,但错误没有变化 -
“content_security_policy”:“script-src'self''unsafe-eval'; object-src'self'“
请帮帮我。感谢。
答案 0 :(得分:0)
对于自动单击按钮,您可以使用jquery的trigger()方法,如下所示:
$( "#foo" ).on( "click", function() {
alert( $( this ).text() );});
$( "#foo" ).trigger( "click" );
希望有所帮助:)
答案 1 :(得分:0)
您可以在后台脚本中尝试此代码:
chrome.browserAction.onclicked.addListener(tab => {
chrome.tabs.executeScript(tab, {code:
`var theButton = document.querySelector("button");
if (theButton) theButton.click();`});
});
点击扩展程序的图标(browser action)后,它会点击活动网页的第一个按钮。如果您需要特定按钮,请在document.querySelector
调用中优化选择器。