- 전체
- 후기 6749
- 후기-카드 1812
- 후기-발권-예약 1240
- 후기-백신 79
- 후기-격리면제 28
- 질문 57043
- 질문-기타 20621
- 질문-카드 11661
- 질문-항공 10162
- 질문-호텔 5181
- 질문-여행 4024
- 질문-DIY 177
- 질문-자가격리 19
- 질문-은퇴 408
- 정보 24166
- 정보-자가격리 133
- 정보-카드 5208
- 정보-기타 7998
- 정보-항공 3821
- 정보-호텔 3226
- 정보-여행 1057
- 정보-DIY 204
- 정보-맛집 217
- 정보-부동산 38
- 정보-은퇴 257
- 여행기 3415
- 여행기-하와이 388
- 잡담 15458
- 필독 63
- 자료 64
- 자랑 721
- 금요스페셜 106
- 강퇴로 가는 길 11
- 자기소개 661
- 구라 2
- 요리-레시피 70
- 오프모임 200
- 나눔 2699
- 홍보 15
- 운영자공지 32
- Add_all_amex_bookmark.png (7.3KB)
- offers_bookmark.png (27.9KB)
2023/06/05 크롬 북마크로 BofA, Chase 오퍼 등록하는 법 추가했습니다.
저는 이런 식으로 북마크해서 사용 중입니다.
2023/05/22 크롬(저는 Whale을 써서 거기서 테스트했어요) 북마크로 아멕스 오퍼 등록 하는 방법 추가했습니다.
2023/02/03 모바일에선 어떻게 콘솔을 띄우는 지 모르겠는데, 크롬북도 되네요. 추가했습니다.
2022/12/16 Chase 스크립트를 더 잘 동작하게 수정했습니다.
BJs 스크립트를 Next 를 눌러 페이지 변경하게 수정했습니다.
제 기준으로 한거라, 혹시 문제 있다면 죄송합니다.
2022/11/23 BofA 스크립트 수정했습니다.
========
안녕하세요,
가입 후 처음 글을 쓰네요.
아멕스 체이스 뱅크오브아메리카 BJs의 오퍼들을 하염없이 클릭하다가 스크립트를 쓰면 되겠다 싶었는데
https://www.milemoa.com/bbs/index.php?search_target=title_content&search_keyword=%EC%95%84%EB%A9%95%EC%8A%A4+console&document_srl=6896064&mid=board
찾아보니 아멕스에 대해서는 마일모아에서 2n2y님이 만들어주신 게 있더군요.
다른 더 복잡하고 잘 돌던 스크립트도 있었는데 지금은 검색이 잘 안되네요.
일단 기존에 올려주셨던 스크립트들을 참고하여
아멕스, 체이스, 뱅크오브아메리카, BJs의 오퍼 자동 등록 스크립트를 짜봤습니다.
일단 제가 갖고있는 카드 기준으로 동작을 확인하였습니다.
제가 카드를 갖고있는 한은 유지보수할 수 있을 것 같긴한데, 저도 자바스크립트는 초보라 어찌될지 모르겠습니다.
하시는 방법은
1. 오퍼 페이지로 가신 다음
2. F12키를 누르고 Console로 갑니다. (크롬북에서는 Shift+Ctrl+j)
3. 맨 아래 > 입력란에 해당 스크립트를 붙여넣고 엔터.
4. 기다립니다. 끝. (중간중간 기다리는 시간이 프로그램돼있어서 좀 걸립니다.)
timeout() 이 함수가 기다리는 함수인데요 ms단위로 되어있습니다. 기다리는 시간을 최적화하려면 이 숫자를 변경해보셔요.
체이스 오퍼가 좀 힘들었는데요, close버튼을 눌러줘야해서.. 그리고 누르고 나면 페이지가 다시 로드되는 지 기존 버튼구조가 사라져서 어렵더라구요.
스크립트 나갑니다.
아멕스
https://global.americanexpress.com/offers/eligible?extlink=US-AmexOffers-Homepage
크롬/Whale 북마크로 돌리기
행바꿈을 제거한 코드를 북마크로 추가하고, 아멕스 오퍼 페이지로 가서 그 북마크를 클릭하면 스크립트가 동작합니다.
정확히는 javascript: 로 시작하는 코드를 북마크 하는 겁니다.
아래와 같은 북마크를 추가하면 됩니다.
URL에 아래 코드를 붙여넣으세요.
javascript:const offerButtons = Array.from(document.getElementsByClassName("offer-cta")).filter(btn => btn.title == "Add to Card");(async () => { for (let i = 0; i < offerButtons.length; i += 1) { offerButtons[i].click(); await new Promise(r => setTimeout(r, 2000)); }; console.log("Done");})(); |
BJs
https://www.bjs.com/myCoupons?source=header
BJ는 30 개(?) 단위로 페이지가 나뉘어있어서 Next 버튼을 자동으로 누르게 만들었습니다. 일단 40페이지까지 하도록 해놨습니다.(아래 temp < 40 을 바꾸시면 원하는 만큼 반복합니다) 총 페이지가 더 적어서 중간에 끝나고 나면 브라우저를 꺼주세요.
function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
(async () => {
for (let temp = 0; temp < 40; temp ++) {
myOfferButtons = Array.from(document.getElementsByClassName("mt-2 btn gray-btn next-prev widthHeight"));
for (let i = 0; i < myOfferButtons.length; i += 1) {
//console.log("btn...");
//console.log(myOfferButtons[i]);
myOfferButtons[i].click();
await timeout(1000);
}
console.log("Done for one page");
Array.from(document.getElementsByClassName("next-align prev-nxt m-0 col-12 col-md-6"))[0].click()
await timeout(2000);
}
}) ();
체이스 (Chase card)
(async () => {
//console.log(myOfferButtons);
// const myButtons = document.getElementsByClassName("sixersoffers__img-container");
let length = document.getElementsByClassName("sixersoffers__img-container").length;
let index = 0;
for (; index < length; index += 1) {
console.log(index);
document.getElementsByClassName("sixersoffers__img-container")[index].click();
await timeout(4000);
console.log("button clicked " + index);
//document.getElementById("flyoutClose").click();
document.querySelector("#flyoutOverlay").click();
await timeout(2000);
console.log("close " + index);
}
}) ();
크롬 북마크
아래 처럼 북마크를 만들고 Chase 오퍼 페이지에서 클릭하면 됩니다.
javascript: function timeout(ms) { return new Promise(resolve => setTimeout(resolve, ms));}(async () => { let length = document.getElementsByClassName("sixersoffers__img-container").length; let index = 0; for (; index < length; index += 1) {document.getElementsByClassName("sixersoffers__img-container")[index].click(); await timeout(3000); document.querySelector("#flyoutOverlay%22).click();await%20timeout(2000);%20%20}})%20();
Bank of America
BofA 수정버전입니다.
function timeout(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } (async () => { while(document.getElementsByClassName("add-deal load-available-deal").length != 0) { document.getElementsByClassName("add-deal load-available-deal")[0].click(); await timeout(1000); } console.log("done"); }) ();
(옛날 코드. 하나 걸러 하나씩 되는 문제가 있었습니다. 참고용으로 남겨둡니다) function timeout(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } (async () => { //console.log(myOfferButtons); const myButtons = document.getElementsByClassName("add-deal load-available-deal"); for (let i = 0; i < myButtons.length; i += 1) { //console.log(i); myButtons[i].click(); await timeout(1000); console.log("button " + i); } }) ();
크롬 북마크
아래 코드를 복사해서 북마크의 URL로 추가합니다.
javascript: function timeout(ms) { return new Promise(resolve => setTimeout(resolve, ms));}; (async () => { while(document.getElementsByClassName("add-deal load-available-deal").length != 0) { document.getElementsByClassName("add-deal load-available-deal")[0].click(); await timeout(1000); } }) ();
뱅크오브아메리카의 offer 페이지에서 위 북마크를 클릭하면 동작합니다.
- 전체
- 후기 6749
- 후기-카드 1812
- 후기-발권-예약 1240
- 후기-백신 79
- 후기-격리면제 28
- 질문 57043
- 질문-기타 20621
- 질문-카드 11661
- 질문-항공 10162
- 질문-호텔 5181
- 질문-여행 4024
- 질문-DIY 177
- 질문-자가격리 19
- 질문-은퇴 408
- 정보 24166
- 정보-자가격리 133
- 정보-카드 5208
- 정보-기타 7998
- 정보-항공 3821
- 정보-호텔 3226
- 정보-여행 1057
- 정보-DIY 204
- 정보-맛집 217
- 정보-부동산 38
- 정보-은퇴 257
- 여행기 3415
- 여행기-하와이 388
- 잡담 15458
- 필독 63
- 자료 64
- 자랑 721
- 금요스페셜 106
- 강퇴로 가는 길 11
- 자기소개 661
- 구라 2
- 요리-레시피 70
- 오프모임 200
- 나눔 2699
- 홍보 15
- 운영자공지 32
16 댓글
이자성
2022-11-04 19:32:17
고생하셨습니다
잘쓰겠습니다
PC 말고 안드로이드 폰 이나, 테블릿에서도 사용 가능한지요?
마야나
2022-11-05 00:57:13
예 안타깝게도 개발자모드가 있는 브라우저만 되는데 모바일은 안되는것 같더라구요.
혹시 방법을 찾으시면 저에게도 공유해주세요
전자기기매니아
2022-11-04 19:41:32
감사합니다!
mashimaroro_choi
2022-11-04 22:59:53
감사합니다. 그렇잖아도 스크랩 해놓는걸 잊어버려 어제 본글을 찾고 있었는데...
체이스까지 있으니 좋네요 ^^
건물주
2022-11-05 03:35:13
너무 좋네요! 마야나 님 감사합니다 :)
오늘도내일도뚠뚠
2022-11-05 04:31:26
안그래도 전에 아멕스 오퍼 등록하는 게시글을 다시 찾는중이었는데 감사합니다!
엣셋트라
2022-11-12 16:20:33
저는 필요할 때 console이라는 검색어로 검색합니다 :)
ReitnorF
2022-11-12 17:10:45
이게 도움이 될까요?
https://www.milemoa.com/bbs/board/7691360#user_content_computerInfo
마야나
2022-11-20 11:43:18
아 여기 링크들이 정라되어있군요. 알려주셔서 감사합니다.
오늘도내일도뚠뚠
2022-11-24 05:57:30
앗 게시글 모아져있는곳에 이미 있었었군요... 역시 이래서 모음글은 한번 더 찾아봐야 하나봐요 ㅜㅜ 감사합니다!
엣셋트라
2022-11-12 16:20:00
오우야 감사합니다. amex offer 담는 코드는 마모 게시판에 있는거 썼는데 chase offer 담는게 귀찮았거든요. 잘 쓰겠습니다!
2n2y
2022-12-16 21:19:45
멋지십니다!
도전CNS
2022-12-16 21:23:46
글을 봐도 모르는 까막눈은 욺니다... ㅠㅠㅠ
키모
2022-12-21 23:57:00
오오 좋은 팁 너무 감사합니다. 이 오퍼들을 보면 처음 들어보는 브랜드나 회사들이 참 많구나 생각이 듭니다.
전자기기매니아
2023-02-04 01:43:38
크롬에서 체이스 오퍼 등록하려니 아래와 같은 오류가 뜨네요.
VM2105:10 Uncaught (in promise) ReferenceError: timeout is not defined
at <anonymous>:10:2
at <anonymous>:19:4
마야나
2023-02-19 02:03:00
앗 timeout 메소드가 없었네요
제가 글 수정하다가 paste가 안되었었나봅니다. 수정하였습니다.