board_posting_duo 0.0.31 → 0.0.33
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/board_posting_duo.rb +522 -152
- 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: 1e6c5ee9d7afeb70dde0bb3608c17b1cd2fae1669db627a3a73182d7b5a0ab97
|
4
|
+
data.tar.gz: b68bbd78e5342d7064741cb324584ba4f12bbfe34bef5dd697e9cd8ed165a290
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 727bc8e37d18b1add1d71c85f8d29d65b753b27667abdbdd2d8662022e3fcb0ff14fcc094128e561beeb139814564d8741bf8426e830172f218680adaf86735d
|
7
|
+
data.tar.gz: 730c71e5028dd10ab55fc7dc359913621c2dc52d805ee440d605a2b0277f8dcf7eed4e275173a54bdc828c037be3e879c37e9ada41ba245d28066e9b9949d4ad
|
data/lib/board_posting_duo.rb
CHANGED
@@ -190,9 +190,10 @@ class Naver
|
|
190
190
|
begin
|
191
191
|
@driver.find_element(:name, 'apiKey').click
|
192
192
|
rescue
|
193
|
-
|
193
|
+
|
194
194
|
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
195
195
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
196
|
+
|
196
197
|
end
|
197
198
|
|
198
199
|
Clipboard.copy(captcha_key)
|
@@ -202,15 +203,13 @@ class Naver
|
|
202
203
|
sleep(1)
|
203
204
|
@driver.switch_to.alert.dismiss
|
204
205
|
|
205
|
-
rescue
|
206
|
-
begin
|
207
|
-
@driver.quit
|
208
|
-
|
206
|
+
rescue => e
|
209
207
|
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
210
208
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
211
|
-
|
212
|
-
|
213
|
-
|
209
|
+
puts e
|
210
|
+
@driver.close
|
211
|
+
return 0
|
212
|
+
end
|
214
213
|
end
|
215
214
|
@driver.switch_to.window(@driver.window_handles[0])
|
216
215
|
####################탭나누기 수정중######################################
|
@@ -270,51 +269,140 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
270
269
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
271
270
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
272
271
|
@driver.find_element(:xpath, '/html/body')
|
273
|
-
rescue
|
274
|
-
|
275
|
-
|
276
|
-
|
272
|
+
rescue => e
|
273
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
274
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
275
|
+
puts e
|
276
|
+
@driver.close
|
277
|
+
return 0
|
277
278
|
end
|
278
279
|
end
|
279
280
|
|
280
281
|
|
281
282
|
|
282
283
|
sleep(1)
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
284
|
+
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
285
|
+
|
286
|
+
puts '-[√] 1 캡챠 발생 유무 확인.......'.green
|
287
|
+
sleep(1)
|
288
|
+
puts '-[√] 2 캡챠 발생 유무 확인.......'.green
|
289
|
+
sleep(1)
|
290
|
+
puts '-[√] 3 캡챠 발생 유무 확인.......'.green
|
291
|
+
sleep(2)
|
292
|
+
|
293
|
+
begin
|
294
|
+
@driver.find_element(:xpath, '//*[@class="amzn-captcha-state-container"]')
|
295
|
+
puts '-[√] 아임웹 캡챠 확인!! 해제 실행.......'.green
|
296
|
+
sleep(1)
|
297
|
+
# 타임아웃을 3초로 설정
|
298
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
299
|
+
# 요소가 나타날 때까지 3초 동안 기다립니다.
|
300
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
301
|
+
sleep(1)
|
302
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
303
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
304
|
+
sleep(10)
|
305
|
+
begin
|
306
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
307
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
308
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
309
|
+
@driver.quit
|
310
|
+
rescue
|
311
|
+
begin
|
312
|
+
# 타임아웃을 77초로 설정
|
313
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
314
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
315
|
+
#wait.until { @driver.find_element(:xpath, '//*[@class="post_write_wrap"]') }
|
316
|
+
wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
|
317
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
318
|
+
|
319
|
+
sleep(1)
|
320
|
+
rescue => e
|
321
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
322
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
323
|
+
puts e
|
324
|
+
@driver.close
|
325
|
+
return 0
|
326
|
+
end
|
327
|
+
end
|
328
|
+
rescue
|
329
|
+
begin
|
330
|
+
@driver.find_element(:xpath, '//*[@class="zone-name-title h1"]')
|
331
|
+
puts '-[√] 클라우드플레어 캡챠 확인!! 해제 실행.......'.green
|
332
|
+
|
333
|
+
# 타임아웃을 3초로 설정
|
334
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
335
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
336
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
337
|
+
sleep(1)
|
338
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
339
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
340
|
+
sleep(10)
|
341
|
+
begin
|
342
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
343
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
344
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
345
|
+
@driver.quit
|
346
|
+
rescue
|
347
|
+
begin
|
348
|
+
# 타임아웃을 77초로 설정
|
349
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
350
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
351
|
+
wait.until { @driver.find_elements(:xpath, '//*[@class="spacer"]').size == 0 }
|
352
|
+
sleep(1)
|
353
|
+
|
354
|
+
#@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
355
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
356
|
+
sleep(3)
|
357
|
+
rescue => e
|
358
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
359
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
360
|
+
puts e
|
361
|
+
@driver.close
|
362
|
+
return 0
|
363
|
+
end
|
364
|
+
end
|
365
|
+
rescue
|
366
|
+
begin
|
367
|
+
# 타임아웃을 3초로 설정
|
368
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
369
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
370
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
371
|
+
sleep(1)
|
372
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
373
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
374
|
+
sleep(10)
|
375
|
+
begin
|
376
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
377
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
378
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
379
|
+
@driver.quit
|
380
|
+
rescue
|
381
|
+
begin
|
382
|
+
# 타임아웃을 77초로 설정
|
383
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
384
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
385
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
|
386
|
+
sleep(1)
|
387
|
+
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
388
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
389
|
+
|
390
|
+
sleep(3)
|
391
|
+
rescue => e
|
392
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
393
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
394
|
+
puts e
|
395
|
+
@driver.close
|
396
|
+
return 0
|
397
|
+
end
|
398
|
+
end
|
399
|
+
rescue
|
400
|
+
puts '-[√] 캡챠 발생 없음.......'.green
|
401
|
+
end
|
402
|
+
end
|
403
|
+
end
|
404
|
+
##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
|
405
|
+
|
318
406
|
|
319
407
|
# begin
|
320
408
|
# @driver.switch_to.alert.accept
|
@@ -336,10 +424,12 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
336
424
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
337
425
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
338
426
|
@driver.find_element(:xpath, '/html/body')
|
339
|
-
rescue
|
340
|
-
|
341
|
-
|
342
|
-
|
427
|
+
rescue => e
|
428
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
429
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
430
|
+
puts e
|
431
|
+
@driver.close
|
432
|
+
return 0
|
343
433
|
end
|
344
434
|
end
|
345
435
|
begin
|
@@ -534,10 +624,13 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
534
624
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
535
625
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
536
626
|
@driver.find_element(:xpath, '/html/body')
|
537
|
-
rescue
|
538
|
-
|
539
|
-
|
540
|
-
|
627
|
+
rescue => e
|
628
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
629
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
630
|
+
puts e
|
631
|
+
@driver.close
|
632
|
+
return 0
|
633
|
+
|
541
634
|
end
|
542
635
|
end
|
543
636
|
|
@@ -1815,10 +1908,12 @@ end
|
|
1815
1908
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
1816
1909
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
1817
1910
|
@driver.find_element(:xpath, '/html/body')
|
1818
|
-
rescue
|
1819
|
-
|
1820
|
-
|
1821
|
-
|
1911
|
+
rescue => e
|
1912
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
1913
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
1914
|
+
puts e
|
1915
|
+
@driver.close
|
1916
|
+
return 0
|
1822
1917
|
end
|
1823
1918
|
|
1824
1919
|
begin
|
@@ -1864,10 +1959,12 @@ login_url = option['login_url'].to_s
|
|
1864
1959
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
1865
1960
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
1866
1961
|
@driver.find_element(:xpath, '/html/body')
|
1867
|
-
rescue
|
1868
|
-
|
1869
|
-
|
1870
|
-
|
1962
|
+
rescue => e
|
1963
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
1964
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
1965
|
+
puts e
|
1966
|
+
@driver.close
|
1967
|
+
return 0
|
1871
1968
|
end
|
1872
1969
|
end
|
1873
1970
|
|
@@ -1875,40 +1972,127 @@ login_url = option['login_url'].to_s
|
|
1875
1972
|
|
1876
1973
|
sleep(1)
|
1877
1974
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
1878
|
-
|
1975
|
+
|
1879
1976
|
puts '-[√] 1 캡챠 발생 유무 확인.......'.green
|
1880
1977
|
sleep(1)
|
1881
1978
|
puts '-[√] 2 캡챠 발생 유무 확인.......'.green
|
1882
1979
|
sleep(1)
|
1883
1980
|
puts '-[√] 3 캡챠 발생 유무 확인.......'.green
|
1884
|
-
sleep(
|
1885
|
-
|
1886
|
-
|
1887
|
-
|
1888
|
-
|
1889
|
-
sleep(1)
|
1890
|
-
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
1891
|
-
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
1892
|
-
sleep(10)
|
1893
|
-
begin
|
1894
|
-
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
1895
|
-
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
1896
|
-
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
1897
|
-
@driver.quit
|
1898
|
-
rescue
|
1899
|
-
# 타임아웃을 77초로 설정
|
1900
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
1901
|
-
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
1902
|
-
wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
|
1981
|
+
sleep(2)
|
1982
|
+
|
1983
|
+
begin
|
1984
|
+
@driver.find_element(:xpath, '//*[@class="amzn-captcha-state-container"]')
|
1985
|
+
puts '-[√] 아임웹 캡챠 확인!! 해제 실행.......'.green
|
1903
1986
|
sleep(1)
|
1904
|
-
|
1905
|
-
|
1906
|
-
|
1987
|
+
# 타임아웃을 3초로 설정
|
1988
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
1989
|
+
# 요소가 나타날 때까지 3초 동안 기다립니다.
|
1990
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
1991
|
+
sleep(1)
|
1992
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
1993
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
1994
|
+
sleep(10)
|
1995
|
+
begin
|
1996
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
1997
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
1998
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
1999
|
+
@driver.quit
|
2000
|
+
rescue
|
2001
|
+
begin
|
2002
|
+
# 타임아웃을 77초로 설정
|
2003
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
2004
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
2005
|
+
#wait.until { @driver.find_element(:xpath, '//*[@class="post_write_wrap"]') }
|
2006
|
+
wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
|
2007
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
2008
|
+
|
2009
|
+
sleep(1)
|
2010
|
+
rescue => e
|
2011
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
2012
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2013
|
+
puts e
|
2014
|
+
@driver.close
|
2015
|
+
return 0
|
2016
|
+
end
|
1907
2017
|
end
|
1908
|
-
rescue
|
1909
|
-
|
1910
|
-
|
1911
|
-
|
2018
|
+
rescue
|
2019
|
+
begin
|
2020
|
+
@driver.find_element(:xpath, '//*[@class="zone-name-title h1"]')
|
2021
|
+
puts '-[√] 클라우드플레어 캡챠 확인!! 해제 실행.......'.green
|
2022
|
+
|
2023
|
+
# 타임아웃을 3초로 설정
|
2024
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
2025
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
2026
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
2027
|
+
sleep(1)
|
2028
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
2029
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
2030
|
+
sleep(10)
|
2031
|
+
begin
|
2032
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
2033
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
2034
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
2035
|
+
@driver.quit
|
2036
|
+
rescue
|
2037
|
+
begin
|
2038
|
+
# 타임아웃을 77초로 설정
|
2039
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
2040
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
2041
|
+
wait.until { @driver.find_elements(:xpath, '//*[@class="spacer"]').size == 0 }
|
2042
|
+
sleep(1)
|
2043
|
+
|
2044
|
+
#@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
2045
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
2046
|
+
sleep(3)
|
2047
|
+
rescue => e
|
2048
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
2049
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2050
|
+
puts e
|
2051
|
+
@driver.close
|
2052
|
+
return 0
|
2053
|
+
end
|
2054
|
+
end
|
2055
|
+
rescue
|
2056
|
+
begin
|
2057
|
+
# 타임아웃을 3초로 설정
|
2058
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
2059
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
2060
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
2061
|
+
sleep(1)
|
2062
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
2063
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
2064
|
+
sleep(10)
|
2065
|
+
begin
|
2066
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
2067
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
2068
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
2069
|
+
@driver.quit
|
2070
|
+
rescue
|
2071
|
+
begin
|
2072
|
+
# 타임아웃을 77초로 설정
|
2073
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
2074
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
2075
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
|
2076
|
+
sleep(1)
|
2077
|
+
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
2078
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
2079
|
+
|
2080
|
+
sleep(3)
|
2081
|
+
rescue => e
|
2082
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
2083
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2084
|
+
puts e
|
2085
|
+
@driver.close
|
2086
|
+
return 0
|
2087
|
+
end
|
2088
|
+
end
|
2089
|
+
rescue
|
2090
|
+
puts '-[√] 캡챠 발생 없음.......'.green
|
2091
|
+
end
|
2092
|
+
end
|
2093
|
+
end
|
2094
|
+
##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
|
2095
|
+
|
1912
2096
|
|
1913
2097
|
begin
|
1914
2098
|
# 요소 찾기 타임아웃을 10초로 설정
|
@@ -2495,10 +2679,12 @@ login_url = option['login_url'].to_s
|
|
2495
2679
|
begin
|
2496
2680
|
@driver.find_element(:xpath, '//*[@name="id"]').send_keys(user_id)
|
2497
2681
|
sleep(3)
|
2498
|
-
rescue
|
2499
|
-
|
2500
|
-
|
2501
|
-
|
2682
|
+
rescue => e
|
2683
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2684
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2685
|
+
puts e
|
2686
|
+
@driver.close
|
2687
|
+
return 0
|
2502
2688
|
end
|
2503
2689
|
end
|
2504
2690
|
end
|
@@ -2743,10 +2929,12 @@ begin
|
|
2743
2929
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
2744
2930
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
2745
2931
|
@driver.find_element(:xpath, '/html/body')
|
2746
|
-
rescue
|
2747
|
-
|
2748
|
-
|
2749
|
-
|
2932
|
+
rescue => e
|
2933
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2934
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2935
|
+
puts e
|
2936
|
+
@driver.close
|
2937
|
+
return 0
|
2750
2938
|
end
|
2751
2939
|
end
|
2752
2940
|
|
@@ -2804,10 +2992,12 @@ begin
|
|
2804
2992
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
2805
2993
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
2806
2994
|
@driver.find_element(:xpath, '/html/body')
|
2807
|
-
rescue
|
2808
|
-
|
2809
|
-
|
2810
|
-
|
2995
|
+
rescue => e
|
2996
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2997
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2998
|
+
puts e
|
2999
|
+
@driver.close
|
3000
|
+
return 0
|
2811
3001
|
end
|
2812
3002
|
end
|
2813
3003
|
|
@@ -2969,49 +3159,147 @@ post_url = option['post_url'].to_s
|
|
2969
3159
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
2970
3160
|
wait.until { @driver.find_element(:xpath, '/html/body') }
|
2971
3161
|
@driver.find_element(:xpath, '/html/body')
|
2972
|
-
rescue
|
2973
|
-
|
2974
|
-
|
2975
|
-
|
3162
|
+
rescue => e
|
3163
|
+
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
3164
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3165
|
+
puts e
|
3166
|
+
@driver.close
|
3167
|
+
return 0
|
2976
3168
|
end
|
2977
3169
|
end
|
2978
3170
|
|
2979
3171
|
sleep(1)
|
2980
|
-
|
2981
|
-
|
2982
|
-
|
2983
|
-
|
2984
|
-
|
2985
|
-
|
2986
|
-
|
2987
|
-
|
2988
|
-
|
2989
|
-
|
2990
|
-
|
2991
|
-
|
2992
|
-
|
2993
|
-
|
2994
|
-
|
2995
|
-
|
2996
|
-
|
2997
|
-
|
2998
|
-
|
2999
|
-
|
3000
|
-
|
3001
|
-
|
3002
|
-
|
3003
|
-
|
3004
|
-
|
3005
|
-
|
3006
|
-
|
3007
|
-
|
3008
|
-
|
3009
|
-
|
3010
|
-
|
3011
|
-
|
3012
|
-
|
3013
|
-
|
3014
|
-
|
3172
|
+
|
3173
|
+
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
3174
|
+
|
3175
|
+
puts '-[√] 1 캡챠 발생 유무 확인.......'.green
|
3176
|
+
sleep(1)
|
3177
|
+
puts '-[√] 2 캡챠 발생 유무 확인.......'.green
|
3178
|
+
sleep(1)
|
3179
|
+
puts '-[√] 3 캡챠 발생 유무 확인.......'.green
|
3180
|
+
sleep(2)
|
3181
|
+
|
3182
|
+
begin
|
3183
|
+
@driver.find_element(:xpath, '//*[@class="amzn-captcha-state-container"]')
|
3184
|
+
puts '-[√] 아임웹 캡챠 확인!! 해제 실행.......'.green
|
3185
|
+
sleep(1)
|
3186
|
+
# 타임아웃을 3초로 설정
|
3187
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
3188
|
+
# 요소가 나타날 때까지 3초 동안 기다립니다.
|
3189
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
3190
|
+
sleep(1)
|
3191
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
3192
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
3193
|
+
sleep(10)
|
3194
|
+
begin
|
3195
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
3196
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
3197
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
3198
|
+
@driver.quit
|
3199
|
+
rescue
|
3200
|
+
begin
|
3201
|
+
# 타임아웃을 77초로 설정
|
3202
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
3203
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
3204
|
+
#wait.until { @driver.find_element(:xpath, '//*[@class="post_write_wrap"]') }
|
3205
|
+
wait.until { @driver.find_elements(:xpath, '//*[@id="amzn-captcha-verify-button"]').size == 0 }
|
3206
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
3207
|
+
|
3208
|
+
sleep(1)
|
3209
|
+
rescue => e
|
3210
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
3211
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3212
|
+
puts e
|
3213
|
+
@driver.close
|
3214
|
+
return 0
|
3215
|
+
end
|
3216
|
+
end
|
3217
|
+
rescue
|
3218
|
+
begin
|
3219
|
+
@driver.find_element(:xpath, '//*[@class="zone-name-title h1"]')
|
3220
|
+
puts '-[√] 클라우드플레어 캡챠 확인!! 해제 실행.......'.green
|
3221
|
+
|
3222
|
+
# 타임아웃을 3초로 설정
|
3223
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
3224
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
3225
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
3226
|
+
sleep(1)
|
3227
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
3228
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
3229
|
+
sleep(10)
|
3230
|
+
begin
|
3231
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
3232
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
3233
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
3234
|
+
@driver.quit
|
3235
|
+
rescue
|
3236
|
+
begin
|
3237
|
+
# 타임아웃을 77초로 설정
|
3238
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
3239
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
3240
|
+
wait.until { @driver.find_elements(:xpath, '//*[@class="spacer"]').size == 0 }
|
3241
|
+
sleep(1)
|
3242
|
+
|
3243
|
+
#@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
3244
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
3245
|
+
sleep(3)
|
3246
|
+
rescue => e
|
3247
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
3248
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3249
|
+
puts e
|
3250
|
+
@driver.close
|
3251
|
+
return 0
|
3252
|
+
end
|
3253
|
+
end
|
3254
|
+
rescue
|
3255
|
+
begin
|
3256
|
+
# 타임아웃을 3초로 설정
|
3257
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
3258
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
3259
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
3260
|
+
sleep(1)
|
3261
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
3262
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
3263
|
+
sleep(10)
|
3264
|
+
begin
|
3265
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
3266
|
+
puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
3267
|
+
puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
3268
|
+
@driver.quit
|
3269
|
+
rescue
|
3270
|
+
begin
|
3271
|
+
# 타임아웃을 77초로 설정
|
3272
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
3273
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
3274
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
|
3275
|
+
sleep(1)
|
3276
|
+
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
3277
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
3278
|
+
|
3279
|
+
sleep(3)
|
3280
|
+
rescue => e
|
3281
|
+
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
3282
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3283
|
+
puts e
|
3284
|
+
@driver.close
|
3285
|
+
return 0
|
3286
|
+
end
|
3287
|
+
end
|
3288
|
+
rescue
|
3289
|
+
puts '-[√] 캡챠 발생 없음.......'.green
|
3290
|
+
end
|
3291
|
+
end
|
3292
|
+
end
|
3293
|
+
##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
|
3294
|
+
|
3295
|
+
|
3296
|
+
|
3297
|
+
|
3298
|
+
|
3299
|
+
|
3300
|
+
|
3301
|
+
|
3302
|
+
|
3015
3303
|
|
3016
3304
|
|
3017
3305
|
begin
|
@@ -3034,10 +3322,12 @@ post_url = option['post_url'].to_s
|
|
3034
3322
|
@driver.find_element(:xpath, '/html/body')
|
3035
3323
|
sleep(1)
|
3036
3324
|
#@driver.execute_script("document.body.style.zoom = '0.70'")
|
3037
|
-
rescue
|
3038
|
-
|
3039
|
-
|
3040
|
-
|
3325
|
+
rescue => e
|
3326
|
+
puts '-[√] 글쓰기 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
3327
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3328
|
+
puts e
|
3329
|
+
@driver.close
|
3330
|
+
return 0
|
3041
3331
|
end
|
3042
3332
|
end
|
3043
3333
|
|
@@ -4021,7 +4311,7 @@ begin
|
|
4021
4311
|
puts '-[√] 제목 입력 필드 탐색 시작.......'.yellow
|
4022
4312
|
sleep(1)
|
4023
4313
|
begin
|
4024
|
-
@driver.find_element(:xpath, '//*[@id="wr_subject"]').send_keys(title)
|
4314
|
+
@driver.find_element(:xpath, '//*[@id="wr_subject"]').send_keys(:title)
|
4025
4315
|
rescue
|
4026
4316
|
begin
|
4027
4317
|
@driver.find_element(:xpath, '//*[@fw-label="제목"]').send_keys(title)
|
@@ -4070,13 +4360,16 @@ begin
|
|
4070
4360
|
rescue
|
4071
4361
|
begin
|
4072
4362
|
@driver.find_element(:xpath, '//*[@for="wr_subject"]').send_keys(title)
|
4073
|
-
|
4074
|
-
|
4363
|
+
|
4364
|
+
rescue => e
|
4365
|
+
|
4366
|
+
puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
|
4367
|
+
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
4368
|
+
puts e
|
4369
|
+
@driver.close
|
4370
|
+
return 0
|
4371
|
+
|
4075
4372
|
|
4076
|
-
puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
|
4077
|
-
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
4078
|
-
@driver.close
|
4079
|
-
|
4080
4373
|
end
|
4081
4374
|
end
|
4082
4375
|
end
|
@@ -5088,6 +5381,82 @@ if option['내용사진자동삽입'] == 'true'
|
|
5088
5381
|
#◀◀◀──────────────────────링크 삽입시
|
5089
5382
|
|
5090
5383
|
rescue
|
5384
|
+
begin
|
5385
|
+
#KBoard 이미지 ────────────88888───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
5386
|
+
@driver.find_element(:xpath, '//*[@data-title="코드보기"]').click #일반 글쓰기로 이동
|
5387
|
+
sleep(1)
|
5388
|
+
if option['사진위적용'] == 'true'
|
5389
|
+
begin
|
5390
|
+
@driver.find_element(:xpath, '//*[@class="fr-element fr-view"]').click #일반 글쓰기로 이동
|
5391
|
+
rescue
|
5392
|
+
begin
|
5393
|
+
@driver.find_element(:xpath, '//*[@id="post_body"]').click #일반 글쓰기로 이동
|
5394
|
+
rescue
|
5395
|
+
end
|
5396
|
+
end
|
5397
|
+
sleep(1)
|
5398
|
+
@driver.action.key_down(:control).key_down(:home).perform
|
5399
|
+
@driver.action.key_up(:control).key_up(:home).perform
|
5400
|
+
sleep(1)
|
5401
|
+
@driver.action.key_down(:enter).key_up(:enter).perform
|
5402
|
+
sleep(1)
|
5403
|
+
@driver.action.key_down(:up).key_up(:up).perform
|
5404
|
+
sleep(2)
|
5405
|
+
else
|
5406
|
+
end
|
5407
|
+
#[옵션1 내용아래 사진 넣기]############
|
5408
|
+
if option['사진아래적용'] == 'true'
|
5409
|
+
begin
|
5410
|
+
@driver.find_element(:xpath, '//*[@class="fr-element fr-view"]').click #일반 글쓰기로 이동
|
5411
|
+
rescue
|
5412
|
+
begin
|
5413
|
+
@driver.find_element(:xpath, '//*[@id="post_body"]').click #일반 글쓰기로 이동
|
5414
|
+
rescue
|
5415
|
+
end
|
5416
|
+
end
|
5417
|
+
sleep(1)
|
5418
|
+
@driver.action.key_down(:control).key_down(:end).perform
|
5419
|
+
@driver.action.key_up(:control).key_up(:end).perform
|
5420
|
+
sleep(1)
|
5421
|
+
@driver.action.key_down(:enter).key_up(:enter).perform
|
5422
|
+
else
|
5423
|
+
end
|
5424
|
+
|
5425
|
+
|
5426
|
+
sleep(1)
|
5427
|
+
@driver.find_element(:xpath, '//*[@id="insertCustomImage-1"]').click #이미지 버튼 선택
|
5428
|
+
sleep(5)
|
5429
|
+
Clipboard.copy(image_url_cheng) # 이미지 폴더에서 이미지 선택
|
5430
|
+
key_down('ctrl')
|
5431
|
+
key_stroke('v')
|
5432
|
+
key_up('ctrl')
|
5433
|
+
sleep(3)
|
5434
|
+
key_stroke('enter')
|
5435
|
+
sleep(3)
|
5436
|
+
|
5437
|
+
sleep(1)
|
5438
|
+
#링크 삽입시──────────────────────▶▶▶
|
5439
|
+
if option['내용사진링크'] == 'true'
|
5440
|
+
@driver.action.key_down(:shift).key_down(:left).perform #이미지 블럭
|
5441
|
+
@driver.action.key_up(:shift).key_up(:left).perform #이미지 블럭
|
5442
|
+
sleep(2)
|
5443
|
+
begin
|
5444
|
+
@driver.find_element(:xpath, '//*[@id="imageLink-1"]').click #링크 버튼 선택
|
5445
|
+
sleep(1)
|
5446
|
+
rescue
|
5447
|
+
@driver.find_element(:xpath, '//*[@id="insertLink-1"]').click #링크 버튼 선택
|
5448
|
+
sleep(1)
|
5449
|
+
end
|
5450
|
+
@driver.action.send_keys(img_link2).perform
|
5451
|
+
sleep(1)
|
5452
|
+
@driver.action.key_down(:enter).key_up(:enter).perform
|
5453
|
+
sleep(1)
|
5454
|
+
|
5455
|
+
else
|
5456
|
+
sleep(1)
|
5457
|
+
end
|
5458
|
+
#◀◀◀──────────────────────링크 삽입시
|
5459
|
+
|
5091
5460
|
#파일첨부로 대체 하기─────────────▶▶▶─────────────▶▶▶───────────▶▶▶
|
5092
5461
|
#파일첨부로 대체 하기─────────────▶▶▶─────────────▶▶▶───────────▶▶▶
|
5093
5462
|
#파일첨부로 대체 하기─────────────▶▶▶─────────────▶▶▶───────────▶▶▶
|
@@ -5320,6 +5689,7 @@ if option['내용사진자동삽입'] == 'true'
|
|
5320
5689
|
end
|
5321
5690
|
end
|
5322
5691
|
end
|
5692
|
+
end
|
5323
5693
|
end
|
5324
5694
|
end
|
5325
5695
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: board_posting_duo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.33
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- soonje
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-08-
|
11
|
+
date: 2024-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: File to Clipboard gem
|
14
14
|
email: rnjstnswp123@naver.com
|