posting_zon 0.0.72 → 0.0.75

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/posting_zon.rb +147 -47
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3ebdd4cc2f01779cadd68cbb87d988d64a3eedc02d07f0092fa5deb636843f9
4
- data.tar.gz: 47e4e8fa27d9c71fa4b69d73dabc3f983c4277c9e4ef0eae436d5f75d946ea0d
3
+ metadata.gz: 654719c8241fe873a678814fd3fccd08092029562136f5dfdeb4dce93b390422
4
+ data.tar.gz: 793cb84431103ad116c37d88b1832f60f946700b44f3c0cc5aa90a3999795ddf
5
5
  SHA512:
6
- metadata.gz: a532d633f6c194a9b4f436b0c954015ef57b9f0f160f3ec8776f56b58ad6a9712409d76e8d498557d1f4855f6f06067f1c1ff7291959348c4c64476ad7602986
7
- data.tar.gz: 5bb540af2b59d13a678873618fedb9f4d2e4e175f50144c4a13dee7935b9f3f9acb8704110ca449ef872f64a96db439dc6ea7515433a1e9259f236dc2596e0e7
6
+ metadata.gz: 6cea620a4fe5dfe46f1edd409baed9d85342433479b8111d126e2a916cb56c2831b0c9fba678802dab7bdd4d16546b47500d6d79660eb35dee1ff0f5be68ead1
7
+ data.tar.gz: 3d2101b4eee605c8beaeb3ed9858c10e140a30e390976af01fcb295aafb8d64a416385745c4eab3bb1bd2bd6ca3b53d05073d63f573845ff87255edcfb5c62fd
data/lib/posting_zon.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'glimmer-dsl-libui'
2
2
  require 'selenium-webdriver'
3
- # require 'webdrivers'
3
+ require 'webdrivers'
4
4
  require 'iconv'
5
5
  require 'nokogiri'
6
6
  require 'open-uri'
@@ -28,10 +28,11 @@ using Rainbow
28
28
 
29
29
  class Naver
30
30
  def initialize
31
- =begin
31
+
32
32
  begin
33
33
  # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
34
-
34
+ puts "크롬을 최신 상태로 업데이트 해주세요"
35
+ puts "크롬 최신 상태가 아닐경우 오류가 발생될수있습니다."
35
36
  # Webdrivers가 드라이버를 다운로드할 경로를 설정
36
37
  Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
37
38
  Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
@@ -46,7 +47,7 @@ class Naver
46
47
  chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
47
48
  Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
48
49
  end
49
- =end
50
+
50
51
  end
51
52
 
52
53
 
@@ -68,7 +69,6 @@ class Naver
68
69
  FileUtils.mkdir_p(board_cookie_dir) unless File.exist?(board_cookie_dir)
69
70
  if proxy == ''
70
71
  begin
71
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
72
72
  options = Selenium::WebDriver::Chrome::Options.new
73
73
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
74
74
  #options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
@@ -101,7 +101,6 @@ class Naver
101
101
  end
102
102
  else
103
103
  begin
104
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
105
104
  Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
106
105
  options = Selenium::WebDriver::Chrome::Options.new
107
106
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
@@ -131,7 +130,6 @@ class Naver
131
130
  puts e
132
131
  puts 'proxy error...'
133
132
  begin
134
- Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
135
133
  Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
136
134
  options = Selenium::WebDriver::Chrome::Options.new
137
135
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
@@ -699,7 +697,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
699
697
  wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
700
698
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
701
699
 
702
- sleep(1)
700
+ sleep(5)
703
701
  rescue => e
704
702
  puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
705
703
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
@@ -746,7 +744,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
746
744
 
747
745
  #@driver.find_element(:xpath, '//*[@data-state="solved"]').click
748
746
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
749
- sleep(3)
747
+ sleep(5)
750
748
  rescue => e
751
749
  puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
752
750
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
@@ -790,7 +788,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
790
788
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
791
789
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
792
790
 
793
- sleep(3)
791
+ sleep(5)
794
792
  rescue => e
795
793
  puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
796
794
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
@@ -2816,13 +2814,8 @@ login_url = option['login_url'].to_s
2816
2814
  wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
2817
2815
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
2818
2816
 
2819
- sleep(1)
2820
- rescue => e
2821
- puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
2822
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
2823
- puts e
2824
- @driver.close
2825
- return 0
2817
+ sleep(5)
2818
+ rescue
2826
2819
  end
2827
2820
  end
2828
2821
  rescue
@@ -2863,13 +2856,8 @@ login_url = option['login_url'].to_s
2863
2856
 
2864
2857
  #@driver.find_element(:xpath, '//*[@data-state="solved"]').click
2865
2858
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
2866
- sleep(3)
2867
- rescue => e
2868
- puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
2869
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
2870
- puts e
2871
- @driver.close
2872
- return 0
2859
+ sleep(5)
2860
+ rescue
2873
2861
  end
2874
2862
  end
2875
2863
  rescue
@@ -2907,13 +2895,8 @@ login_url = option['login_url'].to_s
2907
2895
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
2908
2896
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
2909
2897
 
2910
- sleep(3)
2911
- rescue => e
2912
- puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
2913
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
2914
- puts e
2915
- @driver.close
2916
- return 0
2898
+ sleep(5)
2899
+ rescue
2917
2900
  end
2918
2901
  end
2919
2902
  rescue
@@ -3694,8 +3677,12 @@ login_url = option['login_url'].to_s
3694
3677
  @driver.find_element(:xpath, '//*[@class="username"]').send_keys(user_id)
3695
3678
  sleep(3)
3696
3679
  rescue
3680
+ begin
3681
+ @driver.find_element(:xpath, '//*[@data-key="username"]').send_keys(user_id)
3682
+ sleep(3)
3683
+ rescue
3684
+ end
3697
3685
  end
3698
-
3699
3686
  end
3700
3687
  end
3701
3688
  end
@@ -3795,8 +3782,13 @@ login_url = option['login_url'].to_s
3795
3782
  @driver.find_element(:xpath, '//*[@id="ol_pwlabel"]').send_keys(user_pw)
3796
3783
  sleep(1)
3797
3784
  rescue
3798
-
3799
- @driver.action.key_down(:tab).key_up(:tab).perform #x탭
3785
+ begin
3786
+ @driver.find_element(:xpath, '//*[@data-key="user_password"]').send_keys(user_pw)
3787
+ sleep(1)
3788
+ rescue
3789
+
3790
+ @driver.action.key_down(:tab).key_up(:tab).perform #x탭
3791
+ end
3800
3792
  end
3801
3793
  end
3802
3794
  end
@@ -3897,8 +3889,15 @@ login_url = option['login_url'].to_s
3897
3889
  puts '-[√] 로그인 버튼 코드 15 타겟.......'.cyan
3898
3890
  sleep(3)
3899
3891
  rescue
3900
- @driver.action.key_down(:enter).key_up(:enter).perform #엔터
3901
- sleep(3)
3892
+ begin
3893
+ @driver.find_element(:xpath, '//*[@id="um-submit-btn"]').click
3894
+ puts '-[√] 로그인 버튼 코드 15 타겟.......'.cyan
3895
+ sleep(3)
3896
+ rescue
3897
+
3898
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
3899
+ sleep(3)
3900
+ end
3902
3901
  end
3903
3902
  end
3904
3903
  end
@@ -4364,7 +4363,7 @@ post_url = option['post_url'].to_s
4364
4363
  wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
4365
4364
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
4366
4365
 
4367
- sleep(1)
4366
+ sleep(5)
4368
4367
  rescue => e
4369
4368
  puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
4370
4369
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
@@ -4411,7 +4410,7 @@ post_url = option['post_url'].to_s
4411
4410
 
4412
4411
  #@driver.find_element(:xpath, '//*[@data-state="solved"]').click
4413
4412
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
4414
- sleep(3)
4413
+ sleep(5)
4415
4414
  rescue => e
4416
4415
  puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
4417
4416
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
@@ -4455,7 +4454,7 @@ post_url = option['post_url'].to_s
4455
4454
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
4456
4455
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
4457
4456
 
4458
- sleep(3)
4457
+ sleep(5)
4459
4458
  rescue => e
4460
4459
  puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
4461
4460
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
@@ -5933,7 +5932,12 @@ begin
5933
5932
  @driver.find_element(:xpath, '//*[@for="boardPrivacyCheck"]').click
5934
5933
  sleep(1)
5935
5934
  rescue
5936
-
5935
+ begin
5936
+ @driver.find_element(:xpath, '//*[@for="checkbox-nonMember"]').click
5937
+ sleep(1)
5938
+ rescue
5939
+
5940
+ end
5937
5941
  end
5938
5942
  end
5939
5943
  end
@@ -5967,6 +5971,19 @@ begin
5967
5971
  rescue
5968
5972
  end
5969
5973
 
5974
+ begin
5975
+ #요소 자체 제거 하기 기능
5976
+
5977
+ chat_box = @driver.find_element(:xpath, '//*[@title="reCAPTCHA"]')
5978
+ @driver.execute_script("arguments[0].remove();", chat_box)
5979
+ puts '방해 code 제거 완료.......'.green
5980
+ sleep(1)
5981
+ rescue
5982
+ end
5983
+
5984
+
5985
+
5986
+
5970
5987
 
5971
5988
  title = title.strip
5972
5989
  ##제목 입력 코드 부분─────────────────────────────────────────────────────────────────────>
@@ -6525,6 +6542,7 @@ begin
6525
6542
  ##내용 입력 필드 코드 부분─────────────────────────────────────────────────────────────────────>
6526
6543
  #puts '-[√] 내용 입력 부분 탐색 시작.......'.yellow
6527
6544
  #sleep(1)
6545
+
6528
6546
  begin
6529
6547
  @driver.find_element(:xpath, '//*[@name="content"]').click
6530
6548
  sleep(1)
@@ -6578,6 +6596,11 @@ rescue
6578
6596
  sleep(1)
6579
6597
  puts '내용 항목 코드 타겟 9.......'.red
6580
6598
  rescue
6599
+ begin
6600
+ @driver.find_element(:xpath, '//*[@class="kboard-content"]').click
6601
+ sleep(1)
6602
+ puts '내용 항목 코드 타겟 9-1.......'.red
6603
+ rescue
6581
6604
  begin
6582
6605
  #아이프레임에서 코드 선택
6583
6606
  @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@scrolling="no"]'))
@@ -6748,9 +6771,16 @@ rescue
6748
6771
  sleep(1)
6749
6772
  puts '내용 항목 코드 타겟 39.......'.red
6750
6773
  rescue
6751
-
6774
+ begin
6775
+ @driver.find_element(:xpath, '//*[@class="kboard-attr-row kboard-attr-content required"]').click
6776
+ sleep(1)
6777
+ puts '내용 항목 코드 타겟 40.......'.red
6778
+ rescue
6779
+
6780
+ end
6752
6781
  end
6753
6782
  end
6783
+ end
6754
6784
  end
6755
6785
  end
6756
6786
  end
@@ -7851,7 +7881,7 @@ if check_captcha == 1
7851
7881
  sleep(1)
7852
7882
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
7853
7883
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
7854
- sleep(3)
7884
+ sleep(5)
7855
7885
  begin
7856
7886
  @driver.find_element(:xpath, '//*[@name="user_captcha"]').click
7857
7887
  sleep(1)
@@ -8156,7 +8186,28 @@ if check_captcha == 0
8156
8186
  sleep(1)
8157
8187
  puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
8158
8188
  rescue
8159
-
8189
+ begin
8190
+ @driver.switch_to.default_content()
8191
+ el = @driver.find_element(:xpath, '//*[@id="zsfImg"]')
8192
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
8193
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
8194
+ puts '-[√] 챕챠 코드 code 12.......'.red
8195
+ sleep(1)
8196
+ @driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
8197
+ sleep(1)
8198
+ mouse_move_percentage(0.3,0.02)
8199
+ sleep(0.5)
8200
+ left_click
8201
+ sleep(1)
8202
+ @driver.switch_to.window(@driver.window_handle) #핸들 주입
8203
+ @driver.action.context_click(el).perform #우 클릭
8204
+ sleep(1)
8205
+ @driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
8206
+ sleep(1)
8207
+ puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
8208
+ rescue
8209
+
8210
+ end
8160
8211
  end
8161
8212
  end
8162
8213
  end
@@ -8726,7 +8777,46 @@ if check_captcha == 0
8726
8777
  puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
8727
8778
  sleep(1)
8728
8779
  rescue
8729
-
8780
+ begin
8781
+ @driver.switch_to.default_content()
8782
+ sleep(1)
8783
+ @driver.find_element(:xpath, '//*[@id="zsfCode"]').click
8784
+
8785
+ sleep(1)
8786
+
8787
+ el2 = @driver.find_element(:xpath, '//*[@id="zsfCode"]')
8788
+ @driver.action.context_click(el2).perform
8789
+
8790
+ sleep(1)
8791
+ @driver.action.key_stroke('up')
8792
+ sleep(1)
8793
+ @driver.action.key_stroke('up')
8794
+ sleep(1)
8795
+ @driver.action.key_stroke('enter')
8796
+ sleep(1)
8797
+ begin
8798
+ # 요소 찾기 타임아웃을 7초로 설정
8799
+ wait = Selenium::WebDriver::Wait.new(:timeout => 7)
8800
+ #요소가 나타날 때까지 7초 동안 기다립니다.
8801
+ wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
8802
+ rescue
8803
+ sleep(1)
8804
+ @driver.action.key_stroke('left')
8805
+ sleep(1)
8806
+ @driver.action.key_stroke('up')
8807
+ sleep(1)
8808
+ @driver.action.key_stroke('enter')
8809
+ sleep(1)
8810
+ # 요소 찾기 타임아웃을 7초로 설정
8811
+ wait = Selenium::WebDriver::Wait.new(:timeout => 7)
8812
+ #요소가 나타날 때까지 7초 동안 기다립니다.
8813
+ wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
8814
+ end
8815
+ puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
8816
+ sleep(1)
8817
+ rescue
8818
+
8819
+ end
8730
8820
  end
8731
8821
  end
8732
8822
  end
@@ -8809,7 +8899,7 @@ sleep(10)
8809
8899
  sleep(1)
8810
8900
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
8811
8901
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
8812
- sleep(3)
8902
+ sleep(5)
8813
8903
  begin
8814
8904
  @driver.find_element(:xpath, '//*[@name="user_captcha"]').click
8815
8905
  sleep(1)
@@ -9167,7 +9257,16 @@ rescue
9167
9257
  sleep(5)
9168
9258
 
9169
9259
  rescue
9170
-
9260
+ begin
9261
+ ss_button = @driver.find_element(:xpath, '//*[@class="btn btn_point"]')
9262
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
9263
+ sleep(1)
9264
+
9265
+ @driver.find_element(:xpath, '//*[@class="btn btn_point"]').click
9266
+ puts '-[√] 등록을 28번 코드로 시도하였습니다.......'.magenta
9267
+ sleep(5)
9268
+
9269
+ rescue
9171
9270
 
9172
9271
  ########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
9173
9272
  begin
@@ -9365,7 +9464,7 @@ rescue
9365
9464
  ########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 2차 시도 ▲▲▲▲▲▲▲──────────────────────────────#######
9366
9465
 
9367
9466
 
9368
-
9467
+ end
9369
9468
  end
9370
9469
  end
9371
9470
  end
@@ -9494,6 +9593,7 @@ end
9494
9593
 
9495
9594
 
9496
9595
 
9596
+
9497
9597
  class Wordpress
9498
9598
  include Glimmer
9499
9599
  def get_mac_address
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: posting_zon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.72
4
+ version: 0.0.75
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-28 00:00:00.000000000 Z
11
+ date: 2025-03-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: posting app
14
14
  email: mymin26@naver.com