【问题标题】:Chrome Extensions - Click on element in actual page [duplicate]Chrome扩展程序-单击实际页面中的元素[重复]
【发布时间】:2017-01-08 11:14:58
【问题描述】:

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

但是,当我使用 de DOM(document object) 时,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://*/*"]        
}

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

【问题讨论】:

    标签: javascript html google-chrome google-chrome-extension


    【解决方案1】:

    您无法从后台页面访问网页 DOM。您必须插入内容脚本。

    查看更多信息 - Chrome documentation

    【讨论】:

      猜你喜欢
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2022-09-27
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      相关资源
      最近更新 更多