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