Chrome扩展-点击元素在实际页面上

Chrome Extensions - Click on element in actual page

本文关键字:扩展 -点 元素 Chrome      更新时间:2023-09-26

我想做一个简单的扩展,可以在我的主页上点击一个元素,例如:我有一个登录页面,有6个按钮选择密码,我想模拟每个按钮的点击(我已经在Selenium上这样做了)。

但是,当我使用de DOM(文档对象)chrome从新的HTML获取文档,而不是得到我的HTML。

上面我的例子:

background.js

function checkForValidUrl(tabId, changeInfo, tab) {
    chrome.pageAction.show(tabId);
}
function getElementByXpath(path) {
  return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
chrome.tabs.onUpdated.addListener(checkForValidUrl);
chrome.pageAction.onClicked.addListener(function(tab) {
	var element = getElementByXpath("//label[contains(text(),'1')]");
    element.click();
});

在我的代码中,当我尝试选择一个元素时,我无法获得主页面。

MANIFEST.js

{
  // Required
  "manifest_version": 2,
  "name": "Minha Extensão",
  "version": "2",
  // Recommended
  "description": "A plain text description",
  "icons": { "16": "icon-w-1.png",
           "48": "icon-w-2.png",
          "128": "icon-w-3.png" },
  "background": {
        "scripts": ["background.js"]
    },
    "page_action": {
        "default_icon": "icon-w-3.png"
    },
    "permissions": ["tabs", "http://*/*", "https://*/*"]        
}

我的下一步将是,在那一刻,我点击扩展按钮,打开一个新的窗口,当我点击按钮,可以模拟在主页上点击另一个按钮。

你不能从后台页面访问网页DOM。你必须插入内容脚本。

查看更多Chrome文档