cafe_buy 0.0.72 → 0.0.73

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.rb +106 -61
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73f80a5444052e2403fccd3787d6d0765be26571c1ebbf821b9810b0e4c4a0ee
4
- data.tar.gz: 15beda6c2256ba2d174b0c66af8392f982183556fb570a2c93f74dd8e6783295
3
+ metadata.gz: 3b274fe3e16c9e4379fc9b3eec01304ecd52a533066ce999aff957eaad68795f
4
+ data.tar.gz: ddc3f3fd2b6e60e1bb6bd8551df2712ab78b1a67de1bc03993b0630542904f26
5
5
  SHA512:
6
- metadata.gz: 30dad1bf3d68e182f973af712e1133392d3fb03c020a9d8dbad064f120851cf21ddd14257f43ea8a02e58315e98ebbd1213061a6094fbf1c5a436fa8fd11d1ac
7
- data.tar.gz: 828ad4ddaf3e1adc5c96f1fa2b7e1012969baef54cb0ff6d1411a2ad06dd2589f96ecd4a300233aabf10a6f9396387f7348be703c24018d0cf4f3fdcc7ae3627
6
+ metadata.gz: 81a9eb971593a5bd2a5c7a4c0b0164309e20ccdd31a7bf8598a3174a1b3a4729909eb08eac1018e966ba73211a18bb6e9cb3733abb7a3db6780f7f0ffe16ca6f
7
+ data.tar.gz: c0254398da2cbed7e04f46b3c0c43ad882f23e0d47dd6c2dce253211b10b51933e80b0bead6bdb54810065a466f08fba87c8926244c7697cb5888e1450395fc3
data/lib/cafe_buy.rb CHANGED
@@ -243,22 +243,25 @@ class Naver
243
243
  @seed = 1
244
244
 
245
245
  begin
246
- # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
247
-
248
- # Webdrivers가 드라이버를 다운로드할 경로를 설정
246
+ # 캐시를 지워서 이전에 다운로드된 chromedriver 제거
247
+ Webdrivers.cache_clear
248
+
249
+ # 웹드라이버가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
249
250
  Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
250
251
  Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
252
+
251
253
  # 크롬드라이버 자동 업데이트 시도
252
254
  Webdrivers::Chromedriver.update
253
255
  puts "chromedriver 자동 다운로드 성공"
254
- rescue => e
256
+ rescue => e
255
257
  puts "chromedriver 자동 다운로드 실패: #{e.message}"
256
258
  puts "폴더내 크롬드라이버를 사용합니다."
257
259
  puts "크롬드라이버가 오래된 경우 오류 발생될 수 있으며, 만일 오류 발생시 아래 지침을 따라주세요."
258
260
  puts "1.크롬 업데이트 2.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일을 열어 드라이버를 교체하세요."
259
261
  chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
260
262
  Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
261
- end
263
+ end
264
+
262
265
 
263
266
  end
264
267
 
@@ -1052,54 +1055,80 @@ end
1052
1055
 
1053
1056
 
1054
1057
  #######################################
1055
-
1056
-
1057
-
1058
- if option['결제'][0] == false
1059
- puts '결제1'
1060
- @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
1061
- sleep(1)
1062
- end
1063
-
1064
- if option['결제'][1] == true
1065
- puts '결제2'
1058
+ if option['pay안전결제'] == 'true'
1066
1059
  begin
1067
- @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
1068
- sleep(1)
1060
+ # 'selected' 클래스가 없는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1061
+ @driver.find_element(:xpath, "//div[@class='deal_item' and not(contains(@class, 'selected'))]//label[@for='deal1']").click
1062
+ puts '안전결제 가능 클릭'
1063
+ rescue
1064
+ end
1065
+ sleep(1)
1066
+ elsif option['pay안전결제'] == 'false'
1067
+ puts 'pay안전결제 선택 해제'
1068
+ begin
1069
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1070
+ @driver.find_element(:xpath, "//div[@class='deal_item selected']//label[@for='deal1']").click
1069
1071
  rescue
1070
-
1071
1072
  end
1072
1073
  end
1073
-
1074
- if option['결제'][2] == false
1075
- puts '결제3'
1076
- @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
1077
- sleep(1)
1074
+
1075
+ if option['pay송금'] == 'true'
1076
+ begin
1077
+ # 'selected' 클래스가 없는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1078
+ @driver.find_element(:xpath, "//div[@class='deal_item' and not(contains(@class, 'selected'))]//label[@for='deal2']").click
1079
+ puts '안전결제 클릭'
1080
+ rescue
1081
+ end
1082
+ sleep(1)
1083
+ elsif option['pay송금'] == 'false'
1084
+ begin
1085
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1086
+ @driver.find_element(:xpath, "//div[@class='deal_item selected']//label[@for='deal2']").click
1087
+ puts 'pay송금 해제'
1088
+ rescue
1089
+ end
1078
1090
  end
1079
1091
 
1080
- if option['결제'][3] == true
1081
- puts '결제4'
1082
- @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
1092
+ if option['휴대전화번호노출동의'] == 'true'
1093
+ begin
1094
+ # 부모 요소 .check_area 안에 .safe_number가 없는 경우에만 클릭
1095
+ @driver.find_element(:xpath, '//*[@class="check_area"]//*[@for="agree1"]').click
1096
+ puts '휴대전화번호 노출 동의 클릭'
1097
+ sleep(1)
1098
+ if option['안심번호'] == 'true'
1099
+ begin
1100
+ @driver.find_element(:xpath, '//*[@class="safe_number"]//*[@for="agree2"]').click
1101
+ puts '안심번호 클릭'
1102
+ rescue
1103
+ end
1104
+ sleep(1)
1105
+ end
1106
+ rescue
1107
+ end
1108
+
1109
+ elsif option['휴대전화번호노출동의'] == 'false'
1110
+ begin
1111
+ puts '휴대전화번호 노출 동의 해제'
1112
+ rescue
1113
+ end
1083
1114
  sleep(1)
1084
1115
  end
1085
-
1086
- if option['결제'][4] == true
1087
- puts '결제5'
1116
+
1117
+ if option['워터마크'] == 'true'
1118
+ begin
1119
+ puts '워터마크 클릭 된 상태'
1120
+ rescue
1121
+ end
1122
+ sleep(1)
1123
+ elsif option['워터마크'] == 'false'
1088
1124
  begin
1089
- @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
1090
- sleep(1)
1125
+ # 'selected' 클래스가 있는 첫 번째 deal_item 요소를 찾아 그 안의 label을 클릭
1126
+ @driver.find_element(:xpath, '//*[@for="watermark"]').click
1127
+ puts '워터마크 해제 클릭'
1091
1128
  rescue
1092
-
1093
1129
  end
1094
1130
  end
1095
-
1096
- if option['결제'][5] == false
1097
- puts '결제6'
1098
- @driver.find_element(:xpath, '//*[@id="app"]/div/div/section/div/div[2]/div[1]/div[1]/div[2]/div[7]/div/div/label').click
1099
-
1100
- end
1101
1131
 
1102
-
1103
1132
 
1104
1133
 
1105
1134
 
@@ -2501,13 +2530,7 @@ class Wordpress
2501
2530
  product_category1 << @data['포스트설정']['카테고리대1'].text.to_s.force_encoding('utf-8')
2502
2531
  product_category1 << @data['포스트설정']['카테고리중2'].text.to_s.force_encoding('utf-8')
2503
2532
  product_category1 << @data['포스트설정']['카테고리소3'].text.to_s.force_encoding('utf-8')
2504
- payment = Array.new
2505
- payment << @data['포스트설정']['pay안전결제 가능'].checked?
2506
- payment << @data['포스트설정']['상품등록정보의 거래업체 제공 동의'].checked?
2507
- payment << @data['포스트설정']['pay송금 가능'].checked?
2508
- payment << @data['포스트설정']['휴대전화번호 노출동의'].checked?
2509
- payment << @data['포스트설정']['안심번호 이용'].checked?
2510
- payment << @data['포스트설정']['워터마크'].checked?
2533
+
2511
2534
 
2512
2535
  while true
2513
2536
  for n in 0..@data['table'].length-1
@@ -3488,7 +3511,34 @@ class Wordpress
3488
3511
  option['클릭항목'] = [@data['포스트설정']['미개봉'].checked?,@data['포스트설정']['거의 새 것'].checked?,@data['포스트설정']['사용감있음'].checked?]
3489
3512
  option['배달'] = [@data['포스트설정']['직거래'].checked?, @data['포스트설정']['택배 거래'].checked?, @data['포스트설정']['온라인전송'].checked?]
3490
3513
  option['직 거래 카테고리'] = product_category1
3491
- option['결제'] = payment
3514
+
3515
+
3516
+ if @data['포스트설정']['pay안전결제'].checked?
3517
+ option['pay안전결제'] = 'true'
3518
+ else
3519
+ option['pay안전결제'] = 'false'
3520
+ end
3521
+ if @data['포스트설정']['pay송금'].checked?
3522
+ option['pay송금'] = 'true'
3523
+ else
3524
+ option['pay송금'] = 'false'
3525
+ end
3526
+ if @data['포스트설정']['휴대전화번호노출동의'].checked?
3527
+ option['휴대전화번호노출동의'] = 'true'
3528
+ else
3529
+ option['휴대전화번호노출동의'] = 'false'
3530
+ end
3531
+ if @data['포스트설정']['안심번호'].checked?
3532
+ option['안심번호'] = 'true'
3533
+ else
3534
+ option['안심번호'] = 'false'
3535
+ end
3536
+ if @data['포스트설정']['워터마크'].checked?
3537
+ option['워터마크'] = 'true'
3538
+ else
3539
+ option['워터마크'] = 'false'
3540
+ end
3541
+
3492
3542
 
3493
3543
  if @data['포스트설정']['전체공개'].checked?
3494
3544
  option['전체공개'] = 'true'
@@ -3655,7 +3705,7 @@ class Wordpress
3655
3705
  @data['포스트설정']['막글'] = ''
3656
3706
  @data['포스트설정']['프록시리스트'] = Array.new
3657
3707
  @data['포스트설정']['인용구'] = Array.new
3658
- @user_login_ok = "1"
3708
+ @user_login_ok = "0"
3659
3709
  window('카페 상품 게시판 등록기', 800, 570) {
3660
3710
  margined true
3661
3711
 
@@ -5742,28 +5792,24 @@ class Wordpress
5742
5792
  top 2
5743
5793
  left 0
5744
5794
  }
5745
- @data['포스트설정']['pay안전결제 가능'] = checkbox('pay안전결제 가능'){
5795
+ @data['포스트설정']['pay안전결제'] = checkbox('pay안전결제 가능'){
5746
5796
  top 2
5747
5797
  left 1
5748
5798
  }
5799
+
5749
5800
 
5750
- @data['포스트설정']['pay안전결제 가능'].checked = true
5751
-
5752
- @data['포스트설정']['상품등록정보의 거래업체 제공 동의'] = checkbox('상품등록정보의 거래업체 제공 동의'){
5801
+ @data['포스트설정']['pay송금'] = checkbox('pay송금 가능'){
5753
5802
  top 2
5754
5803
  left 2
5755
5804
  }
5756
- @data['포스트설정']['pay송금 가능'] = checkbox('pay송금 가능'){
5757
- top 2
5758
- left 3
5759
- }
5760
- @data['포스트설정']['pay송금 가능'].checked = true
5761
5805
 
5762
- @data['포스트설정']['휴대전화번호 노출동의'] = checkbox('휴대전화번호 노출동의'){
5806
+
5807
+ @data['포스트설정']['휴대전화번호노출동의'] = checkbox('휴대전화번호 노출동의'){
5763
5808
  top 3
5764
5809
  left 1
5765
5810
  }
5766
- @data['포스트설정']['안심번호 이용'] = checkbox('안심번호 이용'){
5811
+
5812
+ @data['포스트설정']['안심번호'] = checkbox('안심번호 이용'){
5767
5813
  top 3
5768
5814
  left 2
5769
5815
  }
@@ -5799,7 +5845,6 @@ class Wordpress
5799
5845
  stretchy false
5800
5846
  }
5801
5847
 
5802
- @data['포스트설정']['워터마크'].checked = true
5803
5848
  }
5804
5849
  }
5805
5850
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_buy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.72
4
+ version: 0.0.73
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