cafe_buy_duo 0.0.72 → 0.0.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cafe_buy_duo.rb +106 -62
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9fe4bcd3fcd82610a9bbe0196360d3bf70c0180375632a35dc6772c6a024057
4
- data.tar.gz: c0bf3a0d5bad014a1d62f05f163237e794374763e170892e5c0d517b0c0dc603
3
+ metadata.gz: c7d98aa3880f049ac882783d77ffa0a68cd626033c562c8bd08b9cea908f9e54
4
+ data.tar.gz: 1c017e16ce6e215d7c7695f41738748cb598eb75832a19443fde167fc4d66a73
5
5
  SHA512:
6
- metadata.gz: 19bed56137b3ffd6bf0a08bb202ea9511f9f3cf9408f2dd252ee185e49d1c83765d729dd55d1504ae6d3a16e75620dde29b3b55763b7a56d38796744cba14f48
7
- data.tar.gz: 65b58309792ac6e54a1c0494893b282865105f128713e5a91d6e18407c65cf9139bc54efe6e5ed02ca7979e09d774d42f36f9ecc213f522eb64dbf5d1ac64d43
6
+ metadata.gz: 66a56101aad4f3cc130848bfe36d6924379c94fd3612380809716e23a1d86a79ab424c88db5bf0e5e2695acdbc88d9109a702f49a243daad425d87c64f45f14c
7
+ data.tar.gz: d66c8426987455b8d3278bc8ef07d8711a7f7ff28b26f072e42f13d9f740295828a9974282831fca965563bf028bd19ab4f7e7d78f1c4cb52b16469667c96513
data/lib/cafe_buy_duo.rb CHANGED
@@ -243,22 +243,22 @@ class Naver
243
243
  @seed = 1
244
244
 
245
245
  begin
246
- # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
247
-
248
- # Webdrivers가 드라이버를 다운로드할 경로를 설정
246
+ # 웹드라이버가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
249
247
  Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
250
248
  Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
249
+
251
250
  # 크롬드라이버 자동 업데이트 시도
252
251
  Webdrivers::Chromedriver.update
253
252
  puts "chromedriver 자동 다운로드 성공"
254
- rescue => e
253
+ rescue => e
255
254
  puts "chromedriver 자동 다운로드 실패: #{e.message}"
256
255
  puts "폴더내 크롬드라이버를 사용합니다."
257
256
  puts "크롬드라이버가 오래된 경우 오류 발생될 수 있으며, 만일 오류 발생시 아래 지침을 따라주세요."
258
257
  puts "1.크롬 업데이트 2.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일을 열어 드라이버를 교체하세요."
259
258
  chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
260
259
  Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
261
- end
260
+ end
261
+
262
262
 
263
263
  end
264
264
 
@@ -367,6 +367,8 @@ class Naver
367
367
 
368
368
 
369
369
 
370
+
371
+
370
372
  def login(user_id, user_pw, proxy)
371
373
  @user_id = user_id
372
374
  @user_id11 = user_id
@@ -1050,54 +1052,80 @@ end
1050
1052
 
1051
1053
 
1052
1054
  #######################################
1053
-
1054
-
1055
-
1056
- if option['결제'][0] == false
1057
- puts '결제1'
1058
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[5]/div/div/div[1]/div[1]/div/label').click
1059
- sleep(1)
1060
- end
1061
-
1062
- if option['결제'][1] == true
1063
- puts '결제2'
1055
+ if option['pay안전결제'] == 'true'
1064
1056
  begin
1065
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[5]/div/div/div[1]/div[2]/div/label').click
1066
- sleep(1)
1057
+ # 'selected' 클래스가 없는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1058
+ @driver.find_element(:xpath, "//div[@class='deal_item' and not(contains(@class, 'selected'))]//label[@for='deal1']").click
1059
+ puts '안전결제 가능 클릭'
1060
+ rescue
1061
+ end
1062
+ sleep(1)
1063
+ elsif option['pay안전결제'] == 'false'
1064
+ puts 'pay안전결제 선택 해제'
1065
+ begin
1066
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1067
+ @driver.find_element(:xpath, "//div[@class='deal_item selected']//label[@for='deal1']").click
1067
1068
  rescue
1068
-
1069
1069
  end
1070
1070
  end
1071
-
1072
- if option['결제'][2] == false
1073
- puts '결제3'
1074
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[5]/div/div/div[2]/div/div/label').click
1075
- sleep(1)
1071
+
1072
+ if option['pay송금'] == 'true'
1073
+ begin
1074
+ # 'selected' 클래스가 없는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1075
+ @driver.find_element(:xpath, "//div[@class='deal_item' and not(contains(@class, 'selected'))]//label[@for='deal2']").click
1076
+ puts '안전결제 클릭'
1077
+ rescue
1078
+ end
1079
+ sleep(1)
1080
+ elsif option['pay송금'] == 'false'
1081
+ begin
1082
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1083
+ @driver.find_element(:xpath, "//div[@class='deal_item selected']//label[@for='deal2']").click
1084
+ puts 'pay송금 해제'
1085
+ rescue
1086
+ end
1076
1087
  end
1077
1088
 
1078
- if option['결제'][3] == true
1079
- puts '결제4'
1080
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[6]/div[2]/div/div/div/label').click
1089
+ if option['휴대전화번호노출동의'] == 'true'
1090
+ begin
1091
+ # 부모 요소 .check_area 안에 .safe_number가 없는 경우에만 클릭
1092
+ @driver.find_element(:xpath, '//*[@class="check_area"]//*[@for="agree1"]').click
1093
+ puts '휴대전화번호 노출 동의 클릭'
1094
+ sleep(1)
1095
+ if option['안심번호'] == 'true'
1096
+ begin
1097
+ @driver.find_element(:xpath, '//*[@class="safe_number"]//*[@for="agree2"]').click
1098
+ puts '안심번호 클릭'
1099
+ rescue
1100
+ end
1101
+ sleep(1)
1102
+ end
1103
+ rescue
1104
+ end
1105
+
1106
+ elsif option['휴대전화번호노출동의'] == 'false'
1107
+ begin
1108
+ puts '휴대전화번호 노출 동의 해제'
1109
+ rescue
1110
+ end
1081
1111
  sleep(1)
1082
1112
  end
1083
-
1084
- if option['결제'][4] == true
1085
- puts '결제5'
1113
+
1114
+ if option['워터마크'] == 'true'
1115
+ begin
1116
+ puts '워터마크 클릭 된 상태'
1117
+ rescue
1118
+ end
1119
+ sleep(1)
1120
+ elsif option['워터마크'] == 'false'
1086
1121
  begin
1087
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[6]/div[2]/div/div[2]/div/label').click
1088
- sleep(1)
1122
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1123
+ @driver.find_element(:xpath, '//*[@for="watermark"]').click
1124
+ puts '워터마크 해제 클릭'
1089
1125
  rescue
1090
-
1091
1126
  end
1092
1127
  end
1093
-
1094
- if option['결제'][5] == false
1095
- puts '결제6'
1096
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[7]/div/div/label').click
1097
-
1098
- end
1099
1128
 
1100
-
1101
1129
 
1102
1130
 
1103
1131
 
@@ -2311,7 +2339,8 @@ class Wordpress
2311
2339
 
2312
2340
 
2313
2341
 
2314
- #def chrome_start(url, user_id, user_pw)
2342
+
2343
+ #def chrome_start(url, user_id, user_pw)
2315
2344
  # @url = url
2316
2345
  # @user_id = user_id
2317
2346
  # @user_pw = user_pw
@@ -2566,13 +2595,7 @@ class Wordpress
2566
2595
  product_category1 << @data['포스트설정']['카테고리대1'].text.to_s.force_encoding('utf-8')
2567
2596
  product_category1 << @data['포스트설정']['카테고리중2'].text.to_s.force_encoding('utf-8')
2568
2597
  product_category1 << @data['포스트설정']['카테고리소3'].text.to_s.force_encoding('utf-8')
2569
- payment = Array.new
2570
- payment << @data['포스트설정']['pay안전결제 가능'].checked?
2571
- payment << @data['포스트설정']['상품등록정보의 거래업체 제공 동의'].checked?
2572
- payment << @data['포스트설정']['pay송금 가능'].checked?
2573
- payment << @data['포스트설정']['휴대전화번호 노출동의'].checked?
2574
- payment << @data['포스트설정']['안심번호 이용'].checked?
2575
- payment << @data['포스트설정']['워터마크'].checked?
2598
+
2576
2599
 
2577
2600
  while true
2578
2601
  for n in 0..@data['table'].length-1
@@ -2679,7 +2702,6 @@ class Wordpress
2679
2702
  end
2680
2703
  end
2681
2704
 
2682
-
2683
2705
  check_success = 1
2684
2706
  @data['table'][index][-1] = 0
2685
2707
  if @data['제목설정']['제목'].length == 0
@@ -3554,7 +3576,34 @@ class Wordpress
3554
3576
  option['클릭항목'] = [@data['포스트설정']['미개봉'].checked?,@data['포스트설정']['거의 새 것'].checked?,@data['포스트설정']['사용감있음'].checked?]
3555
3577
  option['배달'] = [@data['포스트설정']['직거래'].checked?, @data['포스트설정']['택배 거래'].checked?, @data['포스트설정']['온라인전송'].checked?]
3556
3578
  option['직 거래 카테고리'] = product_category1
3557
- option['결제'] = payment
3579
+
3580
+
3581
+ if @data['포스트설정']['pay안전결제'].checked?
3582
+ option['pay안전결제'] = 'true'
3583
+ else
3584
+ option['pay안전결제'] = 'false'
3585
+ end
3586
+ if @data['포스트설정']['pay송금'].checked?
3587
+ option['pay송금'] = 'true'
3588
+ else
3589
+ option['pay송금'] = 'false'
3590
+ end
3591
+ if @data['포스트설정']['휴대전화번호노출동의'].checked?
3592
+ option['휴대전화번호노출동의'] = 'true'
3593
+ else
3594
+ option['휴대전화번호노출동의'] = 'false'
3595
+ end
3596
+ if @data['포스트설정']['안심번호'].checked?
3597
+ option['안심번호'] = 'true'
3598
+ else
3599
+ option['안심번호'] = 'false'
3600
+ end
3601
+ if @data['포스트설정']['워터마크'].checked?
3602
+ option['워터마크'] = 'true'
3603
+ else
3604
+ option['워터마크'] = 'false'
3605
+ end
3606
+
3558
3607
 
3559
3608
  if @data['포스트설정']['전체공개'].checked?
3560
3609
  option['전체공개'] = 'true'
@@ -5814,28 +5863,24 @@ class Wordpress
5814
5863
  top 2
5815
5864
  left 0
5816
5865
  }
5817
- @data['포스트설정']['pay안전결제 가능'] = checkbox('pay안전결제 가능'){
5866
+ @data['포스트설정']['pay안전결제'] = checkbox('pay안전결제 가능'){
5818
5867
  top 2
5819
5868
  left 1
5820
5869
  }
5870
+
5821
5871
 
5822
- @data['포스트설정']['pay안전결제 가능'].checked = true
5823
-
5824
- @data['포스트설정']['상품등록정보의 거래업체 제공 동의'] = checkbox('상품등록정보의 거래업체 제공 동의'){
5872
+ @data['포스트설정']['pay송금'] = checkbox('pay송금 가능'){
5825
5873
  top 2
5826
5874
  left 2
5827
5875
  }
5828
- @data['포스트설정']['pay송금 가능'] = checkbox('pay송금 가능'){
5829
- top 2
5830
- left 3
5831
- }
5832
- @data['포스트설정']['pay송금 가능'].checked = true
5833
5876
 
5834
- @data['포스트설정']['휴대전화번호 노출동의'] = checkbox('휴대전화번호 노출동의'){
5877
+
5878
+ @data['포스트설정']['휴대전화번호노출동의'] = checkbox('휴대전화번호 노출동의'){
5835
5879
  top 3
5836
5880
  left 1
5837
5881
  }
5838
- @data['포스트설정']['안심번호 이용'] = checkbox('안심번호 이용'){
5882
+
5883
+ @data['포스트설정']['안심번호'] = checkbox('안심번호 이용'){
5839
5884
  top 3
5840
5885
  left 2
5841
5886
  }
@@ -5871,7 +5916,6 @@ class Wordpress
5871
5916
  stretchy false
5872
5917
  }
5873
5918
 
5874
- @data['포스트설정']['워터마크'].checked = true
5875
5919
  }
5876
5920
  }
5877
5921
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_buy_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.72
4
+ version: 0.0.79
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-07 00:00:00.000000000 Z
11
+ date: 2025-03-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com