点击带有Chrome扩展程序的网站上的按钮

时间:2018-03-29 01:27:47

标签: javascript html google-chrome-extension

我正在尝试制作一个谷歌浏览器扩展程序,允许用户按下Chrome扩展菜单中的按钮,这会导致选中的网页上的按钮被点击。我目前的问题是我的语法和代码injector.js。它说意外的令牌;和意外的令牌[。我将不胜感激任何帮助。 这是我的manifest.json:

    {
  "manifest_version":2,

  "name": "Button Click",
  "description": "Be able to press buttons",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
    "activeTab",
    "storage"
  ]
}

这是我的HTML

    <!DOCTYPE html>

<html>  
    <head>
    <title>Fill</title>

    </script><script src="popup.js"></script>

    </head>
  <body>
    <h2 id="htwo">Button presser</h2>
    <button id="press">Press Button</button>
  </body>

</html>

和我的javascript:

window.onload=function(){
    if(document.getElementById("press")){
        document.getElementById("press").addEventListener('click',function(){
            document.getElementById("htwo").innerHTML="yay";
            chrome.tabs.executeScript({
                file:"injector.js"
            });
        });
    }
}

injector.js:

function pressButton(){
    var buttons=document.getElementsByClassName("button"),
    button[0].click();
}
pressButton();

顺便说一句,我试图点击的按钮是一个输入按钮,我在其中检查元素,我得到: “(输入类型=”提交“名称=”提交“值=”添加到购物车“class =”button“)” 由于某种原因不会显示 这个按钮可以在这里找到: http://www.supremenewyork.com/shop/accessories/p840x2jsc/yks6zay73

注意:我知道有其他人在询问有关同一主题的问题,但他们使用的方法对我不起作用。 谢谢你帮助我!

1 个答案:

答案 0 :(得分:1)

现在它有效。安装并检查出来。 要查看扩展程序的工作原理,您应该访问此站点(StackOverflow)并提供所有这些文件并icon.png

  

的manifest.json

{
    "manifest_version": 2,
    "name": "Button Click",  
    "description": "Be able to press buttons",  
    "version": "1.0",    
    "browser_action": { 
        "default_icon": "icon.png",
        "default_popup": "popup.html"  
    },
    "permissions": ["tabs", "<all_urls>"]
}
  

popup.html

<!doctype html>  
<html>  
    <head><title>Fill</title></head>  
    <body>
        <h2 id="htwo">Button presser</h2>
        <button id="press">Go to activity tab</button>  
        <script src="popup.js"></script> 
    </body>
</html>
  

popup.js

function injectTheScript() {
    // Gets all tabs that have the specified properties, or all tabs if no properties are specified (in our case we choose current active tab)
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
        // Injects JavaScript code into a page
        chrome.tabs.executeScript(tabs[0].id, {file: "utilities.js"});
    });
}
// adding listener to your button in popup window
document.getElementById('press').addEventListener('click', injectTheScript);
  

utilities.js

/**
 * Gets the desired element on the client page and clicks on it
 */
function goToActivityTab() {
    var activityTab = document.getElementsByClassName("my-profile")[0];

    activityTab.click();
}

goToActivityTab();

有关更多信息,请使用这些链接