posting_duo 0.0.59 → 0.0.60

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_duo.rb +31 -55
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f94c9db87c5fafd7e27c3592ae98f2baebebe503ce50c97415cbb5f3b796af2e
4
- data.tar.gz: 690c2d7eff7c1472c42b0d05911efbf6fabd25c862cb93bf4806e34e8602cd93
3
+ metadata.gz: 6af7f2edae7b775789a066a5d6e704c68f3df7fd53100a8e9b8e06e687417191
4
+ data.tar.gz: 2da4e53171ede480abfc628abaa7e9680769e57551d2f6635e8484ae8baf79a6
5
5
  SHA512:
6
- metadata.gz: 5da2349070ef67ed3f8b099aa9e4b43860069d21da1fbf5c88ab0b1cee55a426c4f36b2f6f5d2a0fa5c01f0c6037a1eb81bebc56f629671c0835667c0e40d629
7
- data.tar.gz: d14c89eb619b72131cb199b98b3adc50e328a5797caabe49ee44acb22c0376f5eb55dce6be0cff1408003afd5e36e6e58cbd60a5e7e4da830e502624087eec91
6
+ metadata.gz: efe725a0c62d9482651af5010f962158be2a46916cf2509064e136543b93b806dab1f403d1b6865952b322e29e0dec6f9e881febb86a110750a67bd4ae1c2453
7
+ data.tar.gz: 52bfff3bbefaccd3e161c6c60e4e00c81589252dd4a4d905603699dd7d20cec4ec1bb88969b2b6f57bdefc1bb7aea06d712ee439f13f198f84e3e28feee51629
data/lib/posting_duo.rb CHANGED
@@ -54,7 +54,6 @@ class Naver
54
54
  options.add_argument("--disable-logging")
55
55
  options.add_argument("--silent") # 로그를 최소화 (최소한의 경고만)
56
56
  options.add_argument("--log-level=3") # LogLevel: 3 = ERROR
57
- options.add_argument('--disable-blink-features=AutomationControlled') # JavaScript로 navigator.webdriver 숨기기
58
57
 
59
58
  # 'capabilities'과 'options' 배열로 설정
60
59
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
@@ -97,8 +96,7 @@ class Naver
97
96
  options.add_argument("--disable-logging")
98
97
  options.add_argument("--silent") # 로그를 최소화 (최소한의 경고만)
99
98
  options.add_argument("--log-level=3") # LogLevel: 3 = ERROR
100
- # JavaScript로 navigator.webdriver 숨기기
101
- options.add_argument('--disable-blink-features=AutomationControlled')
99
+
102
100
 
103
101
  # 'capabilities'과 'options' 배열로 설정
104
102
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
@@ -153,58 +151,43 @@ class Naver
153
151
  end
154
152
 
155
153
 
156
-
157
154
  def login(proxy)
158
155
  chrome_start(proxy)
159
-
156
+
160
157
  @driver.get('about:blank')
161
158
  sleep(2)
162
-
163
- all_windows = @driver.window_handles
164
-
165
- # chrome-extension:// 탭이 하나만 열렸을 경우
166
- if all_windows.size == 1
167
- @driver.switch_to.window(all_windows.first) # 첫 번째 탭으로 전환
168
- if @driver.current_url.start_with?('chrome-extension://')
169
- puts "확장 프로그램 탭 발견: #{@driver.current_url}"
170
- @driver.close # 해당 탭을 닫습니다.
171
- sleep(2) # 탭을 닫고 안정화할 시간 추가
172
159
 
173
- # 탭이 하나만 열렸다면 탭을 열고 그 탭으로 전환합니다.
174
- @driver.get('about:blank') # 빈 페이지로 이동 (필요한 페이지로 수정 가능)
175
- sleep(1)
176
- end
177
- end
160
+ # 열린 모든 핸들 확인
161
+ all_windows = @driver.window_handles
162
+ puts "현재 열려 있는 탭 수: #{all_windows.size}" # 열린 탭 수 출력
178
163
 
179
- # 탭이 개일 처리
180
- if all_windows.size == 2
181
- all_windows.each do |window|
182
- @driver.switch_to.window(window)
164
+ # 탭만 남기고 나머지 탭 닫기
165
+ all_windows.each do |window|
166
+ @driver.switch_to.window(window)
167
+ current_url = @driver.current_url
168
+ puts "탭 URL: #{current_url}" # 각 탭 URL 출력
183
169
 
184
- if @driver.current_url.start_with?('chrome-extension://')
185
- puts "확장 프로그램 탭 발견: #{@driver.current_url}"
186
- @driver.close # 해당 탭을 닫습니다.
187
- sleep(2) # 탭을 닫고 안정화할 시간 추가
188
- break
189
- end
170
+ # 'chrome-extension://'로 시작하는 확장 프로그램 탭을 제외하고 닫기
171
+ if current_url.start_with?('chrome-extension://')
172
+ puts "확장 프로그램 탭을 닫지 않음: #{current_url}"
173
+ else
174
+ @driver.close # 빈 탭 등 다른 탭은 닫기
175
+ puts "빈 탭 또는 확장 프로그램이 아닌 탭을 닫았습니다."
190
176
  end
191
177
  end
192
178
 
193
- # 모든 탭을 다시 초기화
194
- all_windows = @driver.window_handles
195
-
196
- # 탭이 없으면 새로 열리기 때문에 이 부분을 추가하여 처리합니다.
197
- if all_windows.empty?
198
- # 탭이 없다면 새 탭을 열고 원하는 페이지로 이동
199
- @driver.get('about:blank') #페이지로 이동 (필요한 페이지로 수정 가능)
200
- sleep(1)
179
+ # 탭을 남긴 후, 빈 탭으로 다시 전환
180
+ all_windows = @driver.window_handles # 남은 탭 리스트 갱신
181
+ if all_windows.size == 1
182
+ @driver.switch_to.window(all_windows.first) # 남은 탭으로 전환
183
+ puts "빈 탭으로 전환됨."
184
+ else
185
+ puts "탭을 찾을 없습니다."
201
186
  end
202
187
 
203
- # 마지막 탭으로 전환 (남은 탭이 하나라면 그 탭으로 전환)
204
- @driver.switch_to.window(all_windows.last)
205
188
  sleep(1)
206
189
 
207
- # 확장 프로그램 옵션 페이지로 이동
190
+ # 탭에서 원하는 작업을 진행하거나, 옵션 페이지로 이동
208
191
  @driver.get('chrome-extension://ifibfemgeogfhoebkmokieepdoobkbpo/options/options.html')
209
192
  sleep(1)
210
193
  end
@@ -396,7 +379,7 @@ sleep(2)
396
379
  else
397
380
 
398
381
  begin
399
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
382
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
400
383
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
401
384
  @driver.get(signup_url)
402
385
  sleep(1)
@@ -2604,7 +2587,7 @@ login_url = option['login_url'].to_s
2604
2587
  else
2605
2588
 
2606
2589
  begin
2607
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
2590
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
2608
2591
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
2609
2592
  @driver.get(login_url)
2610
2593
  sleep(1)
@@ -3800,7 +3783,7 @@ login_url = option['login_url'].to_s
3800
3783
 
3801
3784
 
3802
3785
  ##################
3803
- cc_check_url = option['cc_check_url'].to_json
3786
+ cc_check_url = option['cc_check_url'].to_s
3804
3787
 
3805
3788
 
3806
3789
  begin
@@ -3809,7 +3792,7 @@ begin
3809
3792
  else
3810
3793
 
3811
3794
  begin
3812
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
3795
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
3813
3796
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
3814
3797
  @driver.get(cc_check_url)
3815
3798
  sleep(1)
@@ -4048,22 +4031,15 @@ end
4048
4031
 
4049
4032
 
4050
4033
 
4051
-
4052
-
4053
-
4054
-
4055
- #######
4056
- post_url = option['post_url'].to_s
4034
+ login_url = option['login_url'].to_s
4057
4035
 
4058
4036
  begin
4059
4037
  if post_url == '' or post_url == '게시판 글쓰기 url'
4060
4038
 
4061
4039
  else
4062
- puts '-[√] 글쓰기 페이지 URL 이동.......'.magenta
4063
-
4064
-
4040
+
4065
4041
  begin
4066
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
4042
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
4067
4043
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
4068
4044
  @driver.get(post_url)
4069
4045
  sleep(1)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: posting_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.59
4
+ version: 0.0.60
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon