Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

205
Visualizações
Filtrar valores de $0.00 en el historial de pedidos de Google Play

Quería verificar una compra anterior en Google Play, pero el historial mostrará todo lo que reclamé. Incluyendo, un montón de aplicaciones gratuitas (enumeradas como $ 0.00), y es imposible filtrar nada en esa lista.

Así que pensé que podría hacer un script simple de TamperMonkey para que lo hiciera por mí, pero no funciona por alguna razón.
¿Que me estoy perdiendo aqui? Gracias.

Esto es lo que tengo hasta ahora:

 // ==UserScript== // @name Filter Out $0.00 Garbage // @namespace http://tampermonkey.net/ // @version 0.1 // @description ... // @author Me // @match https://play.google.com/store/account/orderhistory // @icon https://www.google.com/s2/favicons?sz=64&domain=google.com // @grant none // ==/UserScript== (function() { var ele = document.getElementsByClassName('mshXob'); for (var i = 0; i < ele.length; ++i) { var item = ele[i]; if (item.innerHTML == '$0.00') { var gp = item.parentNode.parentNode.parentNode; gp.style.display = 'none'; } } })();
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Tal vez probarlo con XPATH

Aquí:

 // ==UserScript== // @name Filter Out $0.00 Garbage // @namespace http://tampermonkey.net/ // @version 0.1 // @description ... // @author Me // @match https://play.google.com/store/account/orderhistory* // @icon https://www.google.com/s2/favicons?sz=64&domain=google.com // @grant none // ==/UserScript== (function() { const MutationObserver = window.MutationObserver || window.WebKitMutationObserver; const observer = new MutationObserver(hideZeroElements); // tried with div elements but does not seem to work. observer.observe(document.body, { subtree: true, childList: true, attributes: false }); })(); function hideZeroElements(mutations, observer) { /** * Get all the divs whom grand children contain a 0,00 value or 0.00 in your case */ const history = document.evaluate('//div[div[2]/div//div[contains(text(), "0.00")]]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); /** * Loop over all the elements found and hide them. */ for ( let i = 0; i < history.snapshotLength; i++) { history.snapshotItem(i).style.display = "none"; } }

Nota : no estoy seguro de si hay una forma de desconectar al observador o no dentro del script de usuario.

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede estar confiando en classNames que cambian. Las bibliotecas de JavaScript como Angular/React/etc pueden cambiar los ID y ClassNames para ofuscar el código.

Intente usar selectores de DOM y métodos transversales de DOM que no se basen en nombres de clase e ID constantes.

Prueba esto:

 // ==UserScript== // @name play.google.com/store/account/orderhistory // @namespace http://tampermonkey.net/ // @match https://play.google.com/store/account/orderhistory // @grant none // ==/UserScript== (function() { 'use strict'; const container = document.querySelector('body>c-wiz:nth-child(5)>div>div>div:nth-child(3)+div>div:nth-child(1)'); const orders = container.querySelectorAll('div'); orders.forEach((el,_) => { const bucks = el.querySelector('div:nth-child(2)>div>div:nth-child(2)'); if (bucks !== null){ if (bucks.innerText === 'US$0.00') el.remove(); } }); })();
about 4 years ago · Juan Pablo Isaza Relatório

0

Aquí hay otra respuesta que responde a su comentario (no se pudo responder con un comentario porque se requiere más flexibilidad) .

¿El ícono TM tiene un punto rojo cuando visitas esa página? Si es así, el script se está ejecutando pero no funciona; si no, la línea @match no activa el script (es decir, no coincide con la URL). ¿Puedes determinar cuál es el caso?

Lo siguiente que debe verificar: abra DevTools (F12) y pegue el primer querySelector. ¿DevTools muestra algo como esto (DevTools responde con div.NgfTBf.fny74c ) :

ingrese la descripción de la imagen aquí

Si no aparece nada cuando pega esa línea de querySelector, es posible que sea necesario modificar ese selector. La forma de hacerlo es construir el selector poco a poco y ver qué sucede a medida que se agrega cada etapa:

 document.querySelector('body') //this HAS to return something...!

ingrese la descripción de la imagen aquí

después:

 document.querySelector('body>c-wiz:nth-child(5)')

(que uno podría necesitar ser nth-child(3) - intente eso también)

En cada etapa, Chrome DevTools debería mostrar algo. Por ejemplo:

ingrese la descripción de la imagen aquí

Este video puede resultarle útil: https://www.youtube.com/watch?v=SowaJlX1uKA

Déjame saber lo que ves.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda