MileMoa
Search
×

Amex Chase BJ BofA 오퍼 자동 등록하기 (자바스크립트)

마야나, 2022.11.04 18:22:47

조회 수
4569
추천 수
0

2023/06/05 크롬 북마크로 BofA, Chase 오퍼 등록하는 법 추가했습니다.

offers_bookmark.png

저는 이런 식으로 북마크해서 사용 중입니다.

 

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

 

function timeout(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
 
(async () => {
  offerButtons = Array.from(document.getElementsByClassName("offer-cta")).filter(btn => btn.title == "Add to Card");
  for (let i = 0; i < offerButtons.length; i += 1) {
    offerButtons[i].click();
    await timeout(2000);
  }
  console.log("Done");
 
})();

 

크롬/Whale 북마크로 돌리기

Add_all_amex_bookmark.png

행바꿈을 제거한 코드를 북마크로 추가하고, 아멕스 오퍼 페이지로 가서 그 북마크를 클릭하면 스크립트가 동작합니다.

정확히는 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)

function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
(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 페이지에서 위 북마크를 클릭하면 동작합니다.

 

첨부 (2) 펼치기 ▼
태그

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

마야나

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가 안되었었나봅니다. 수정하였습니다.

목록

Page 1 / 4225
Status 번호 제목 글쓴이 날짜 조회 수
  공지

마적단의 기초 | 검색 먼저하기 + 질문 제목을 자세하게 내용도 구체적으로 작성하기

| 정보 34
  • file
ReitnorF 2023.07.16 721947
  공지

게시판의 암묵적인 규칙들 (신규 회원 필독 요망)

| 필독 214
bn 2022.10.30 1077115
  공지

** 모든 글 (본문/댓글)에 리퍼럴 링크 언급/추가는 운영자 사전동의 필수 **

| 운영자공지 20
마일모아 2021.02.14 795263
  공지

게시판 필독 및 각종 카드/호텔/항공/은퇴/기타 정보 모음 (Updated on 2024-01-01)

| 정보 181
ReitnorF 2020.06.25 1231284
new 126724

오사카에서 어깨빵을 당했습니다 - 잡담

| 잡담 16
브라킴 2026.05.18 1260
updated 126723

아빠와 딸.

| 잡담 46
  • file
참울타리 2026.05.17 2052
updated 126722

최근 한국 다녀오셨던 분들 어떠셨는지요. 처음으로 서울에서 1년 살기를 해 보고 싶다는 강한 충동이 든 한국여행이었네요.

| 잡담 41
샌프란 2026.05.17 5431
updated 126721

양가 부모님과 함께가는 교토, 나라 여행 - 0. 여행 계획 및 예약

| 여행기 55
  • file
느끼부엉 2026.04.08 32724
updated 126720

가난한자의 리모와~ 알루미늄 캐리온 가방.

| 정보-기타 39
  • file
nysky 2019.09.10 14766
updated 126719

시민권자 한국방문 tax refund 후기

| 정보-여행 49
다자이 2023.02.15 30758
new 126718

2026년 4월 서울/제주/부산 호텔 투어기

| 정보-여행
토깽이00 2026.05.18 101
new 126717

Plastiq 이용해서 3% fee 내고 student loan 갚으면서 high spending 필요한 아멕스 플랫, 비즈니스 플랫 등 spending 채우는거 어떻게 생각 하시나요?

| 질문-카드 5
으악bayarea 2026.05.18 220
updated 126716

United 신규 노선: ORD-NRT (10/24일부터 매일 운항) + SFO-CTS (삿포로) (12/11-3/26 주3회)

| 정보-항공 15
마일모아 2026.05.14 1512
updated 126715

아멕스 플래티넘 (Amex Platinum) 찰스슈왑 / 모건스탠리 MR 150,000 Offer (6개월/$12,000)

| 정보-카드 35
DamonK 2026.05.07 16817
updated 126714

4/24: 제 상황에 맞는 비즈니스카드 조언/추천 부탁드립니다!!

| 질문-카드 19
으악bayarea 2026.05.13 2282
new 126713

양가 부모님과 함께가는 교토, 나라 여행 - 8. 나라 시스이 (Shisui, Luxury Collection Hotel)

| 여행기 2
  • file
느끼부엉 2026.05.18 164
updated 126712

로빈후드 골드 비자카드 오퍼

| 질문-카드 19
캘리드리머 2026.05.13 3467
updated 126711

Park Hyatt Tokyo / Park Hyatt Kyoto / W Osaka 후기

| 여행기 7
  • file
moondiva 2026.05.17 838
new 126710

(싱글하우스) 장기간 출타할때 main water valve를 shut off하시고 떠나시나요?

| 질문-기타 8
shine 2026.05.18 914
updated 126709

[잡담] 미국의 팁문화가 너무 싫습니다

| 잡담 408
헐퀴 2018.08.10 28651
updated 126708

마모분들 최애 텀블러 브랜드& 상품명이 궁금합니다

| 질문-기타 120
  • file
Navynred 2024.04.24 19311
updated 126707

독립기념일 주간에 올랜도로 0살,4살과 여행 어떨까요?

| 질문-여행 11
  • file
MilkSports 2026.05.17 814
updated 126706

[5/20일 시행] 하얏트 5단계 시즌 + 어워드 카테고리 변경

| 정보-호텔 18
  • file
슈발블랑 2026.04.24 12811
updated 126705

[업데이트-챗으로 해결]하얏트 게오아(GoH) 사용 시 LP 객실 이용불가네요

| 질문-호텔 13
  • file
카드가 2026.05.05 4107
updated 126704

[가설탐구] 뉴사리 (CSR) 2026년부터 시작된 호텔 $250 크레딧 (annual), 어떻게 요리해볼까요? (the Edit과 더블디핑?)

| 정보-호텔 151
  • file
음악축제 2026.01.01 32250
updated 126703

11개월 쌍둥이와 함께한 짧은 한국 호텔 투숙기 (Chase The Edit - 신라호텔, 파크하야트)

| 후기 11
라따뚜이 2026.05.17 1125
new 126702

아골 신청시 rsvp코드랑 리퍼럴 링크 동시 사용 가능한가요?

| 질문-카드 1
sharp77 2026.05.18 229
updated 126701

몇가지 괜찮은 라스베가스 호텔관련 오퍼 (음식, 호텔, 쇼)

| 정보-호텔 19
  • file
heesohn 2026.03.31 18531
updated 126700

유나이티드 (United) 폴라리스 좌석 추천해주세요

| 질문-항공 36
jeje 2026.05.16 1511
updated 126699

나이야가라 다녀오다 티켓을 받앗습니다 (도움절실)

| 질문-기타 12
yunoyuno 2026.05.15 3106
updated 126698

[5/15/26] 발빠른 할인 - 챗GPT 비지니스 계정 두 명에 월 25불: 비플/비골 크레딧으로 무료로 이용하세요

| 정보-기타 41
shilph 2026.05.15 2952
updated 126697

양가 부모님과 함께가는 교토, 나라 여행 - 7. Private Tour: 교토 니조성, 우지 뵤도인

| 여행기 8
  • file
느끼부엉 2026.05.17 488
updated 126696

Update: (사진첨부) 미국에선 보험이 있어도 임신->분만까지 몇천불 깨지는게 맞나요?

| 질문-기타 27
  • file
히피 2026.05.17 2669
updated 126695

베가스 여행 6박7일 궁금점: 숙박, 렌트 여부 등등

| 질문-여행 38
윈윈 2026.05.13 3485