Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

202
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!