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.
- checksums.yaml +4 -4
- data/lib/posting_zon.rb +38 -37
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9daa48b576d4da20be43b1c58beec3d2cfe1999746362531a05496308f3bdeb1
|
4
|
+
data.tar.gz: 24ad25bd9b389d6f9ec2130a215e94af8a78fed52ab2fff596aba246e3cd73ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
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
|
-
|
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 =>
|
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 =>
|
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'].
|
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 =>
|
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
|
-
|
4038
|
-
|
4039
|
-
|
4040
|
+
|
4040
4041
|
begin
|
4041
|
-
wait = Selenium::WebDriver::Wait.new(:timeout =>
|
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.
|
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-
|
11
|
+
date: 2025-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: posting app
|
14
14
|
email: mymin26@naver.com
|