팁과 노하우 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[일반] 그동안 결제한 총 금액 확인하기

게임알못
댓글: 5 개
조회: 5712
추천: 1
2025-05-07 19:53:14
전에 어느 분이 써 주신 것에서 챗 GPT로 수정을 한 겁니다. 간단하게 확인하는 것이라 그냥 이렇게 확인 가능하다는 것 정도만 알면 됩니다.

로직이 진행 된 후의 페이지에서는 코드가 나오지 않으므로 그곳에서는 수정이 불가능합니다. (일부러 안 보이게 해달라고 했습니다.)

총 금액만 나오니까 그 점 유의해 주시기 바랍니다.




코드

let startYear = 2014;
let endYear = 2025;
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() === '해당이력이 없습니다.') {
            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 formattedTotal = total.toLocaleString();
    
    // 🔒 결과만 보여주는 새 창 열기
    const win = window.open("", "_blank");
    win.document.write(`
        <html>
            <head>
                <title>총 결제 금액</title>
                <style>
                    body { font-family: sans-serif; text-align: center; padding-top: 50px; }
                    .amount { font-size: 32px; color: #333; }
                </style>
            </head>
            <body>
                <h1>지금까지 사용한 총 금액</h1>
                <div class="amount">${formattedTotal}원</div>
            </body>
        </html>
    `);
    win.document.close();
}

fetchAllAmounts();


코드 사용법은 엣지에서 검은사막 홈페이지에 가세요.
로그인 후 계정 정보로 가세요.
그 후에 구매 사용 내역으로 가시고, f12를 눌러 콘솔 창을 누르신 후 해당 코드를 입력합니다.

입력이 안 되시면 복시 붙여놓기가 안 되는 것인데 이 때 써야 할 것은 다음과 같습니다

붙여넣기 허용 or allow pasting


Lv56 게임알못

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 검사
  • 게임
  • IT
  • 유머
  • 연예
AD