posting_zon 0.0.57 → 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_zon.rb +38 -37
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f26df1f291327db84506395ca1b2211ee8f10dcaa15c4a0c79be64f33f3acdd9
4
- data.tar.gz: 14a131501a1e618ee6fd6294457a2ec18b79747567f4451762b34d2d9b833c29
3
+ metadata.gz: 9daa48b576d4da20be43b1c58beec3d2cfe1999746362531a05496308f3bdeb1
4
+ data.tar.gz: 24ad25bd9b389d6f9ec2130a215e94af8a78fed52ab2fff596aba246e3cd73ab
5
5
  SHA512:
6
- metadata.gz: 1eb1bff47a15e373efff2efc242c4e6bf6ea2a68e2d887b77752ec165bca1be9faf8ef18b36ada1e6731956955300422b9faeea79c9044be02b248a7f521a1f4
7
- data.tar.gz: 843846ce0d4a86ec9031215832f4bd4398d3f96363b876ac00a56c329498c5a308c5dc8ecd928391e0c80f3be3dae712678c9f5ef5297d573844d6898380577d
6
+ metadata.gz: f31e31649a8680b2fec5254299c8bb8ba61197b3ef385cb2ec44236cfd779e382c3d4d04735cff6f185fb3e4fb88b738a24524414b52d2fa5b8e481ca87de3a1
7
+ data.tar.gz: 77bf2473b752cd2322670bac34c1e1e9a65f83d044e7c86c35b123f1e8c294c6a6f04f8231f1cc4e2abe4bdc29c6dd8be45720c76ced67c219f7c525d05535ed
data/lib/posting_zon.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
@@ -155,35 +153,45 @@ class Naver
155
153
 
156
154
  def login(proxy)
157
155
  chrome_start(proxy)
158
-
156
+
159
157
  @driver.get('about:blank')
160
158
  sleep(2)
159
+
160
+ # 열린 모든 탭 핸들 확인
161
161
  all_windows = @driver.window_handles
162
-
163
- # 원하는 탭을 확인하고, 닫기
162
+ puts "현재 열려 있는 탭 수: #{all_windows.size}" # 열린 탭 수 출력
163
+
164
+ # 빈 탭만 남기고 나머지 탭 닫기
164
165
  all_windows.each do |window|
165
- @driver.switch_to.window(window)
166
-
167
- # 해당 탭이 'chrome-extension://'으로 시작하는지 확인
168
- if @driver.current_url.start_with?('chrome-extension://')
169
- puts "확장 프로그램 발견: #{@driver.current_url}"
170
- @driver.close
171
- sleep(1)
172
- break
166
+ @driver.switch_to.window(window)
167
+ current_url = @driver.current_url
168
+ puts "탭 URL: #{current_url}" # URL 출력
169
+
170
+ # 'chrome-extension://'로 시작하는 확장 프로그램 탭을 제외하고 닫기
171
+ if current_url.start_with?('chrome-extension://')
172
+ puts "확장 프로그램 탭을 닫지 않음: #{current_url}"
173
+ else
174
+ @driver.close # 빈 탭 등 다른 탭은 닫기
175
+ puts "빈 탭 또는 확장 프로그램이 아닌 탭을 닫았습니다."
176
+ end
173
177
  end
178
+
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 "빈 탭을 찾을 수 없습니다."
174
186
  end
175
-
176
-
177
- all_windows = @driver.window_handles # 모든 탭을 다시 초기화
178
- @driver.switch_to.window(all_windows.last) # 마지막 탭으로 전환
179
- sleep(1)
180
-
181
- all_windows = @driver.window_handles # 다시 탭 목록 초기화
187
+
182
188
  sleep(1)
183
-
189
+
190
+ # 빈 탭에서 원하는 작업을 진행하거나, 옵션 페이지로 이동
184
191
  @driver.get('chrome-extension://ifibfemgeogfhoebkmokieepdoobkbpo/options/options.html')
185
192
  sleep(1)
186
- end
193
+ end
194
+
187
195
 
188
196
 
189
197
 
@@ -371,7 +379,7 @@ sleep(2)
371
379
  else
372
380
 
373
381
  begin
374
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
382
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
375
383
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
376
384
  @driver.get(signup_url)
377
385
  sleep(1)
@@ -2579,7 +2587,7 @@ login_url = option['login_url'].to_s
2579
2587
  else
2580
2588
 
2581
2589
  begin
2582
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
2590
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
2583
2591
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
2584
2592
  @driver.get(login_url)
2585
2593
  sleep(1)
@@ -3775,7 +3783,7 @@ login_url = option['login_url'].to_s
3775
3783
 
3776
3784
 
3777
3785
  ##################
3778
- cc_check_url = option['cc_check_url'].to_json
3786
+ cc_check_url = option['cc_check_url'].to_s
3779
3787
 
3780
3788
 
3781
3789
  begin
@@ -3784,7 +3792,7 @@ begin
3784
3792
  else
3785
3793
 
3786
3794
  begin
3787
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
3795
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
3788
3796
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
3789
3797
  @driver.get(cc_check_url)
3790
3798
  sleep(1)
@@ -4023,22 +4031,15 @@ end
4023
4031
 
4024
4032
 
4025
4033
 
4026
-
4027
-
4028
-
4029
-
4030
- #######
4031
- post_url = option['post_url'].to_s
4034
+ login_url = option['login_url'].to_s
4032
4035
 
4033
4036
  begin
4034
4037
  if post_url == '' or post_url == '게시판 글쓰기 url'
4035
4038
 
4036
4039
  else
4037
- puts '-[√] 글쓰기 페이지 URL 이동.......'.magenta
4038
-
4039
-
4040
+
4040
4041
  begin
4041
- wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
4042
+ wait = Selenium::WebDriver::Wait.new(:timeout => 30) # 최대 20초 대기
4042
4043
  wait.until { @driver.execute_script("return document.readyState") == "complete" }
4043
4044
  @driver.get(post_url)
4044
4045
  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.57
4
+ version: 0.0.60
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-12 00:00:00.000000000 Z
11
+ date: 2025-02-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: posting app
14
14
  email: mymin26@naver.com