【发布时间】: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