njongto_zon 0.0.59 → 0.0.71

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/njongto_zon.rb +65 -19
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51fac5be91ff541b63a11c280f0e4534051c4e92838c930d276be20f3b9d871c
4
- data.tar.gz: 3938fad9289a67e457761dc777d95666edb6304e2719ee6d97430591a3fb891b
3
+ metadata.gz: 83a518bee922fac307f444eafb11b4c70b297419fbed6c0440974995c30c046b
4
+ data.tar.gz: f8f68aa511a98e9b08afa571991763111fbb304eaa57b249cde3840835b126dc
5
5
  SHA512:
6
- metadata.gz: 53674faa81fa3c02c8ac483ea2bbfde6ecfebd2302eed6efffca91f6963a43912116adf09faf005962bee3267ef7d8f82c89e883d00a9ff610ce38f5f831ba39
7
- data.tar.gz: 3d389088aec441a48ed0e9078d426bd2e665a4412ffc1efe019e33c35c233d34027201c06931d7f76fd47dd675466747c29fc7e60b6572dc103a370d13be2dd8
6
+ metadata.gz: '087b85b0d4fe8effe8036003f0ff9cc5fd6f76ff7d00cebb0e6281490a80ce26064769461bcd3fe41de96f02f8a023a3810db9abf78d2ff6d439b54cfa91a811'
7
+ data.tar.gz: 30cf066eb40b85a637a392935a64e195d1764a083bd7d9b289a3b2cb13948f92ac6c657e91e25bc33538838594ab3a9c9b645bf9d04fd2209cabfc940ecc553f
data/lib/njongto_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 'http'
@@ -16,6 +16,7 @@ require 'uri'
16
16
  require 'cgi'
17
17
  require 'auto_click'
18
18
  require 'rainbow/refinement'
19
+ require 'win32ole'
19
20
  include AutoClickMethods
20
21
  using Rainbow
21
22
  include Glimmer
@@ -23,26 +24,37 @@ include Glimmer
23
24
 
24
25
  class Naver
25
26
  def initialize
27
+ kill_selenium_chrome #기존 창 모두 닫는 명령
28
+ sleep(1)
26
29
  @seed = 1
30
+ end
31
+
32
+ def kill_selenium_chrome #기존 창 모두 닫는 코드
33
+ wmi = WIN32OLE.connect("winmgmts://")
34
+ chrome_procs = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
27
35
 
28
- begin
29
- # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
30
-
31
- # Webdrivers가 드라이버를 다운로드할 경로를 설정
32
- Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
33
- Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
34
- # 크롬드라이버 자동 업데이트 시도
35
- Webdrivers::Chromedriver.update
36
- puts "chromedriver 자동 다운로드 성공"
37
- rescue => e
38
- puts "chromedriver 자동 다운로드 실패: #{e.message}"
39
- puts "폴더내 크롬드라이버를 사용합니다."
40
- puts "크롬드라이버가 오래된 경우 오류 발생될 수 있으며, 만일 오류 발생시 아래 지침을 따라주세요."
41
- puts "1.크롬 업데이트 2.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일을 열어 드라이버를 교체하세요."
42
- chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
43
- Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
36
+ chrome_procs.each do |proc|
37
+ cmd = proc.CommandLine
38
+ if cmd && cmd.include?("user-data-dir=C:/naver_cookie")
39
+ puts "→ 크롬 초기화: PID #{proc.ProcessId}"
40
+ begin
41
+ proc.Terminate
42
+ rescue
43
+ #puts "→ 이미 종료된 프로세스: #{proc.ProcessId}"
44
+ end
45
+ end
44
46
  end
45
47
 
48
+ # chromedriver도 같이 종료
49
+ chromedrivers = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chromedriver.exe'")
50
+ chromedrivers.each do |proc|
51
+ puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
52
+ begin
53
+ proc.Terminate
54
+ rescue
55
+ #puts "→ 이미 종료된 chromedriver: #{proc.ProcessId}"
56
+ end
57
+ end
46
58
  end
47
59
 
48
60
 
@@ -64,6 +76,18 @@ class Naver
64
76
  FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
65
77
  if proxy == ''
66
78
  begin
79
+ begin
80
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
81
+ rescue => e
82
+ puts "chromedriver 버전 불일치!!"
83
+ puts "아래 지침을 따라주세요."
84
+ puts "1.프로그램 종료!"
85
+ puts "2.크롬 업데이트!"
86
+ puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
87
+ puts "4.안내된 방식으로 크롬 드라이버 교체"
88
+ puts "5.재 시작"
89
+ exit 1
90
+ end
67
91
  options = Selenium::WebDriver::Chrome::Options.new
68
92
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
69
93
  #options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
@@ -91,7 +115,18 @@ class Naver
91
115
  end
92
116
  else
93
117
  begin
94
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
118
+ begin
119
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
120
+ rescue => e
121
+ puts "chromedriver 버전 불일치!!"
122
+ puts "아래 지침을 따라주세요."
123
+ puts "1.프로그램 종료!"
124
+ puts "2.크롬 업데이트!"
125
+ puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
126
+ puts "4.안내된 방식으로 크롬 드라이버 교체"
127
+ puts "5.재 시작"
128
+ exit 1
129
+ end
95
130
  options = Selenium::WebDriver::Chrome::Options.new
96
131
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
97
132
  options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
@@ -118,7 +153,18 @@ class Naver
118
153
  puts e
119
154
  puts 'proxy error...'
120
155
  begin
121
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
156
+ begin
157
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
158
+ rescue => e
159
+ puts "chromedriver 버전 불일치!!"
160
+ puts "아래 지침을 따라주세요."
161
+ puts "1.프로그램 종료!"
162
+ puts "2.크롬 업데이트!"
163
+ puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
164
+ puts "4.안내된 방식으로 크롬 드라이버 교체"
165
+ puts "5.재 시작"
166
+ exit 1
167
+ end
122
168
  options = Selenium::WebDriver::Chrome::Options.new
123
169
  options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
124
170
  options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: njongto_zon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.59
4
+ version: 0.0.71
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-04-30 00:00:00.000000000 Z
10
+ date: 2025-05-29 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: File to Clipboard gem
13
13
  email: mymin26@naver.com