Created
July 8, 2025 07:51
-
-
Save Swyter/7c356775f12888e5287f80b12a55c896 to your computer and use it in GitHub Desktop.
Get the un-exportable details like transaction notes and category in the dev tools console.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* swy: paste on the dev console after the list has finished loading: https://web.bbva.es/index.html?v=30.3.22#accounts/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */ | |
| cur_idx = 0; | |
| expand_arrow_buttons = document.querySelectorAll( | |
| ".m-table-body__row span[data-testid=transactions-table-movement-row-detail-link] haunted-icon i.type-icon" | |
| ) | |
| function click() | |
| { | |
| if (expand_arrow_buttons.length > cur_idx) | |
| expand_arrow_buttons[cur_idx++].click(); | |
| } | |
| /* swy: wait until the detailed transaction box expands before dumping the data and clicking the next */ | |
| mo = new MutationObserver(function(mutationsList, observer) | |
| { | |
| //console.log('[i]', mutationsList, observer); | |
| for (var mutation of mutationsList) | |
| { | |
| if (mutation.target.tagName != "DL") | |
| continue; | |
| if (mutation.addedNodes.length <= 0) | |
| continue; | |
| note = document.querySelector('div[data-testid=transactions-table-movement-detail-notes]') | |
| cate = document.querySelector('div[data-testid=transactions-table-movement-detail-categorization] dd span') | |
| console.log( | |
| `[---] cosa (${cur_idx})`, | |
| note ? note.attributes['data-value'].textContent : "<none>", "///", | |
| cate ? cate.textContent.trim() : "<none>" | |
| ); | |
| click(); break; /* swy: every click after the first one */ | |
| } | |
| }); | |
| mo.observe(document.querySelector('tbody.m-table-body'), { childList: true, attributes: true, subtree: true }); | |
| click(); /* swy: first click, makes the expando open and calls the mutation observer when the text is shown, when the data is there we can click again to repeat it all over again */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment