我想在点击扩展名时自动点击网站上的按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想在点击扩展名时自动点击网站上的按钮相关的知识,希望对你有一定的参考价值。

目标 - 当用户点击特定页面上的chrome扩展时,它会自动点击该网站页面上的特定按钮。

我尝试了以下方法来生成自动点击,但它们都不起作用。

我从content-script.js获取background.js中的DOM并运行以下命令(在后台页面中使用这些命令用于其他目的,在内容脚本中运行时出现相同的错误)。

$(html).find( “按钮”。)点击()。

$(html).find('#button')。addEventListener('click',function(){alert(“hello”);});

button.addEventListener('click',function(){alert(“hello”);});

它要么给我错误,要么没有用。

第一个命令出错 -

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'”

请帮我。谢谢。

答案

您可以在后台脚本中尝试此代码:

chrome.browserAction.onclicked.addListener(tab => {
    chrome.tabs.executeScript(tab, {code:
        `var theButton = document.querySelector("button");
         if (theButton) theButton.click();`});
});

单击扩展程序的图标(browser action)时,将单击活动网页的第一个按钮。如果您需要特定按钮,请在document.querySelector调用中优化选择器。

另一答案

对于自动单击按钮,您可以使用jquery的trigger()方法,如下所示:

$( "#foo" ).on( "click", function() { 
alert( $( this ).text() );});
$( "#foo" ).trigger( "click" );

希望能帮助到你 :)

以上是关于我想在点击扩展名时自动点击网站上的按钮的主要内容,如果未能解决你的问题,请参考以下文章

JSP 页面中有个Button按钮,我想在进入页面后就让它自动点击一次,怎么做啊!

从一个片段移动到另一个片段时如何自动选择底部导航?

更改单击脚本上的文本

python点击网页上的按钮

求HTML网页点击UE浏览器上的后退按钮后能回到上一次浏览的网页的代码!

使用导航架构操作点击返回按钮时如何避免片段重新创建?