안녕하세요 검은사막 몇 년간 해오면서 사용한 총금액을 알아보고자 합니다.
24년 1월 1일 이후로 검은 사막 홈페이지에서 모든 정보 조회가 가능하다는 문의 답변을 받고
일일이 더하기 귀찮아 구현한 자바스크립트 코드입니다. 
(동일명의 아이디전부 조회됩니다)
(카카오 서비스는 조회안된데여~)

[사용법]
1. 검은 사막 홈페이지 로그인을 한다.
2. 프로필 아이콘에 마우스를 올린 후 [계정정보]로 들어갑니다.
3. [구매'사용 내역] 에 들어간 후 F12를 눌러 개발자도 구를 켜주세요 

3 까지 하신 후 아래 이미지와 같이 Console 탭을 열어주세요




해당문구가 뜨신다면 콘솔창에 allow pasting을 입력후 엔터 눌러주세요.

let startYear = 2014;
let endYear = 2024;
let total = 0;

const today = new Date();
const todayYear = today.getFullYear();
const todayMonth = String(today.getMonth() + 1).padStart(2, '0');
const todayDate = String(today.getDate()).padStart(2, '0');
const endDateFormatted = `${todayYear}.${todayMonth}.${todayDate}`;

async function fetchAmountsForYear(year) {
    let yearTotal = 0;
    let page = 1;
    let hasNextPage = true;

    while (hasNextPage) {
        const startDate = `${year}.01.01`;
        const endDate = year === todayYear ? endDateFormatted : `${year}.12.31`;
        const baseUrl = `?startDate=${startDate}&endDate=${endDate}&Page=${page}`;
        const response = await fetch(baseUrl);
        const text = await response.text();
        const parser = new DOMParser();
        const doc = parser.parseFromString(text, 'text/html');

        var emptyMessageCell = doc.querySelector('td.empty');
        if (emptyMessageCell && emptyMessageCell.textContent.trim() === '해당이력이 없습니다.') {
            console.log(`년도 ${year}에 해당 이력이 없습니다. 다음 년도로 진행합니다.`);
            return null;
        }

        const amounts = doc.querySelectorAll('td.amount');
        amounts.forEach(amount => {
            const value = parseInt(amount.textContent.replace(/,/g, ''), 10);
            if (value > 0) {
                yearTotal += value;
            }
        });

        
        const nextButton = doc.querySelector('a.btn_arrow.next');
        hasNextPage = nextButton !== null;
        page++;
    }

    return yearTotal;
}


async function fetchAllAmounts() {
    for (let year = startYear; year <= endYear; year++) {
        const yearTotal = await fetchAmountsForYear(year);
        if (yearTotal !== null) {
            total += yearTotal;
            const formattedYearTotal = yearTotal.toString().replace(/B(?=(d{3})+(?!d))/g, ",");
            console.log(`${year}년의 총 금액: ${formattedYearTotal}원`);
        }
    }

    const formattedTotal = total.toString().replace(/B(?=(d{3})+(?!d))/g, ",");
    console.log("지금까지 사용한 총 금액 :", formattedTotal + "원");
}

fetchAllAmounts();




위코드 복사후 콘솔창에 넣고 실행하시면 지금까지 얼마를 검은사막에 사용하였는지 나옵니다.



알고보니 현타오네.. 내돈..