atualizar merges rollercoin
RKFox
javascript
a year ago
2.7 kB
10
Indexable
(async () => {
// Função para clicar no botão "Load more"
function clickLoadMoreButton() {
const button = document.querySelector('button.tree-dimensional-button.load-more');
if (button) {
button.click();
return true;
}
return false;
}
// Função para coletar dados dos elementos
function collectElementsData() {
const cards = document.querySelectorAll('.card-wrapper');
const data = [];
cards.forEach((card) => {
const rarity = card.querySelector('.item-title[style*="color"]')?.innerText || null;
const name = card.querySelector('.item-title:not([style])')?.innerText || null;
const imageUrl = card.querySelector('.product-image')?.src || null;
const levelImgs = card.querySelectorAll('.item-level-img');
const levels = Array.from(levelImgs).map((img) => img.alt || null);
const powerElement = card.querySelector('.item-characteristic:nth-child(2) .item-level-wrapper');
const initialPower = powerElement?.querySelector('span')?.innerText?.trim() || null;
const finalPower = powerElement?.querySelector('.accent-text')?.innerText?.trim() || null;
const bonusElement = card.querySelector('.item-characteristic:nth-child(3) .item-level-wrapper');
const initialBonus = bonusElement?.querySelector('span')?.innerText?.trim() || null;
const finalBonus = bonusElement?.querySelector('.accent-text')?.innerText?.trim() || null;
const components = Array.from(card.querySelectorAll('.components-list .component-list-item')).map((component) => ({
id: component.querySelector('img')?.alt || null,
src: component.querySelector('img')?.src || null,
currentCount: component.querySelector('.component-count.green')?.innerText?.trim() || null,
totalCount: component.querySelector('.component-count:not(.green)')?.innerText?.trim() || null,
}));
const price = card.querySelector('.price-value')?.innerText?.trim() || null;
data.push({
rarity,
name,
imageUrl,
levels,
initialPower,
finalPower,
initialBonus,
finalBonus,
components,
price,
});
});
return data;
}
// Clique no botão "Load more" e aguarde elementos adicionais carregarem
while (clickLoadMoreButton()) {
await new Promise((resolve) => setTimeout(resolve, 2000));
}
// Coleta os dados após carregar todos os elementos
const elementsData = collectElementsData();
// Exibe o JSON no console
console.log(JSON.stringify(elementsData, null, 2));
})();
Editor is loading...
Leave a Comment