posting_zon 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/posting_zon.rb +67 -42
  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: 16d2cff7008e867c6a9ecb286892aa74d79c919706fc02b23d4167c249422d65
4
+ data.tar.gz: 1cf6c127e66cf46a179a9f7e54b98c30cd27d4745cd2e73dffb7416d7f020442
5
5
  SHA512:
6
- metadata.gz: a532d633f6c194a9b4f436b0c954015ef57b9f0f160f3ec8776f56b58ad6a9712409d76e8d498557d1f4855f6f06067f1c1ff7291959348c4c64476ad7602986
7
- data.tar.gz: 5bb540af2b59d13a678873618fedb9f4d2e4e175f50144c4a13dee7935b9f3f9acb8704110ca449ef872f64a96db439dc6ea7515433a1e9259f236dc2596e0e7
6
+ metadata.gz: bc9f45d75bf974ad1b27f89b91f1d2f1ebdd242165f38ffdd0aba7da6889a658c682a9f115b19cb0f80aa919e24e81b88e4e4a19ccd3fb1d82d4dc889e09d96c
7
+ data.tar.gz: cc18bdebfaa2fd957d642dc9b0388bb2da1dc246f6a36d42a59e7b9fc60d9e4b493daa2028c4faa4917bf87d9b2d5a23372327c5b053e0ffe80d3b003fd7906b
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
@@ -5967,6 +5966,19 @@ begin
5967
5966
  rescue
5968
5967
  end
5969
5968
 
5969
+ begin
5970
+ #요소 자체 제거 하기 기능
5971
+
5972
+ chat_box = @driver.find_element(:xpath, '//*[@title="reCAPTCHA"]')
5973
+ @driver.execute_script("arguments[0].remove();", chat_box)
5974
+ puts '방해 code 제거 완료.......'.green
5975
+ sleep(1)
5976
+ rescue
5977
+ end
5978
+
5979
+
5980
+
5981
+
5970
5982
 
5971
5983
  title = title.strip
5972
5984
  ##제목 입력 코드 부분─────────────────────────────────────────────────────────────────────>
@@ -6525,6 +6537,7 @@ begin
6525
6537
  ##내용 입력 필드 코드 부분─────────────────────────────────────────────────────────────────────>
6526
6538
  #puts '-[√] 내용 입력 부분 탐색 시작.......'.yellow
6527
6539
  #sleep(1)
6540
+
6528
6541
  begin
6529
6542
  @driver.find_element(:xpath, '//*[@name="content"]').click
6530
6543
  sleep(1)
@@ -6578,6 +6591,11 @@ rescue
6578
6591
  sleep(1)
6579
6592
  puts '내용 항목 코드 타겟 9.......'.red
6580
6593
  rescue
6594
+ begin
6595
+ @driver.find_element(:xpath, '//*[@class="kboard-content"]').click
6596
+ sleep(1)
6597
+ puts '내용 항목 코드 타겟 9-1.......'.red
6598
+ rescue
6581
6599
  begin
6582
6600
  #아이프레임에서 코드 선택
6583
6601
  @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@scrolling="no"]'))
@@ -6748,9 +6766,16 @@ rescue
6748
6766
  sleep(1)
6749
6767
  puts '내용 항목 코드 타겟 39.......'.red
6750
6768
  rescue
6751
-
6769
+ begin
6770
+ @driver.find_element(:xpath, '//*[@class="kboard-attr-row kboard-attr-content required"]').click
6771
+ sleep(1)
6772
+ puts '내용 항목 코드 타겟 40.......'.red
6773
+ rescue
6774
+
6775
+ end
6752
6776
  end
6753
6777
  end
6778
+ end
6754
6779
  end
6755
6780
  end
6756
6781
  end
@@ -7851,7 +7876,7 @@ if check_captcha == 1
7851
7876
  sleep(1)
7852
7877
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
7853
7878
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
7854
- sleep(3)
7879
+ sleep(5)
7855
7880
  begin
7856
7881
  @driver.find_element(:xpath, '//*[@name="user_captcha"]').click
7857
7882
  sleep(1)
@@ -8809,7 +8834,7 @@ sleep(10)
8809
8834
  sleep(1)
8810
8835
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
8811
8836
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
8812
- sleep(3)
8837
+ sleep(5)
8813
8838
  begin
8814
8839
  @driver.find_element(:xpath, '//*[@name="user_captcha"]').click
8815
8840
  sleep(1)
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.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-02-28 00:00:00.000000000 Z
11
+ date: 2025-03-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: posting app
14
14
  email: mymin26@naver.com