Ao pressionar Alt+ Q, clicar na aba de informações na página
// ==UserScript==
// @name AInformações - Sequência de cliques Alt+Q
// @namespace http://tampermonkey.net/
// @version 3.0
// @description Ao pressionar Alt+ Q, clicar na aba de informações na página
// @author Guilherme
// @match *://*/*
// @grant none
// @run-at document-idle
// @license MIT
// ==/UserScript==
(function () {
'use strict';
/** 🔍 Busca elemento via XPath */
function getElementByXpath(xpath) {
try {
return document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
} catch (e) {
console.error('❌ XPath inválido:', xpath, e);
return null;
}
}
/** ⏳ Aguarda até que o elemento exista */
async function waitForElement(xpath, timeout = 5000) {
const start = Date.now();
while (Date.now() - start < timeout) {
const el = getElementByXpath(xpath);
if (el) return el;
await new Promise(r => setTimeout(r, 200));
}
return null;
}
/** 🖱️ Simula um clique real */
function simulateClick(el) {
if (!el) return;
el.scrollIntoView({ behavior: 'smooth', block: 'center' });
['mousedown', 'mouseup', 'click'].forEach(evt =>
el.dispatchEvent(new MouseEvent(evt, { bubbles: true, cancelable: true, view: window }))
);
console.log('✅ Clique simulado com sucesso:', el);
}
/** 🚀 Ação principal */
async function executarSequencia() {
try {
console.log('🔍 Procurando a aba de informações...');
const aba = await waitForElement('//*[@id="rc-tabs-1-tab-information"]', 6000);
if (!aba) {
console.warn('⚠️ Aba de informações não encontrada.');
return;
}
simulateClick(aba);
console.log('🎯 Aba de informações clicada com sucesso.');
} catch (error) {
console.error('❌ Erro na execução da sequência:', error);
}
}
/** ⌨️ Atalho: Ctrl + . */
window.addEventListener('keydown', (event) => {
if (['INPUT', 'TEXTAREA'].includes(document.activeElement.tagName)) return; // evita digitação
if (event.altKey && !event.ctrlKey && !event.shiftKey && event.key.toLowerCase() === 'q') {
event.preventDefault();
console.log('⌨️ Atalho Ctrl+. detectado.');
executarSequencia();
}
}, true); // captura antes de outros listeners
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址