Google扩展程序如何单击网页上的按钮?

时间:2018-10-03 04:23:36

标签: javascript google-chrome-extension

我创建一个扩展 文件 github.js

jQuery(document).ready(function($) {
  console.log('github.js');
  // btn btn-primary shelf-cta
  var button = $('.btn.btn-primary.shelf-cta');
  console.log('button.html() = ', button.html());
  button.click();
});

文件popup.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <button id="send_messages">Send Messages</button>

  <script src="libs/jquery-v3.3.1.js"></script>
  <script src="popup.js"></script>
</body>
</html>

文件 popup.js

jQuery(document).ready(function($) {
  console.log('popup.js');

  $('#send_messages').click(function(event) {


    console.log('github test');
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
      chrome.tabs.executeScript(
        tabs[0].id,
        {file: "libs/jquery-v3.3.1.js"},
        function(){
          chrome.tabs.executeScript(
            tabs[0].id,
            {file: "github.js"}
          );
        }
      );
    });
  });
});

文件 manifest.json

{
  "name": "test the extension",
  "version": "1.0",
  "description": "Automatically send the message to the opened projects in the browser",
  "permissions": [
    "tabs", 
    "activeTab", 
    "declarativeContent", 
    "storage",
    "<all_urls>"
  ],
  "options_page": "options.html",
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_popup": "popup.html",
    "default_icon": {
      "16": "images/get_started16.png",
      "32": "images/get_started32.png",
      "48": "images/get_started48.png",
      "128": "images/get_started128.png"
    }
  },
  "icons": {
    "16": "images/get_started16.png",
    "32": "images/get_started32.png",
    "48": "images/get_started48.png",
    "128": "images/get_started128.png"
  },
  "manifest_version": 2
}

当我转到github页面https://github.com/时 有一个按钮“阅读指南”,我想单击它。 我按下扩展名browser_action按钮,显示一个弹出窗口。当我按下按钮“发送消息”时,什么也没有发生。 我可以到达“阅读指南”按钮并输出标题,但是 button.click(); 不起作用。 如何单击按钮或其他链接?

1 个答案:

答案 0 :(得分:0)

因此,jquery中的点击需要使用此代码完成

button.get(0).click();

不像我一样

button.click();