posting_zon 3.95.999 → 3.97.999
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 +409 -252
- 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: 4a1736a6b08e734e1b136899876dcd57ead61b6229842109fc069304715d8336
|
4
|
+
data.tar.gz: b29484a4972698f5a101500af979cffba0a082dc3f0f9e0036daa49c5b56c317
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3cec574266c2315a832f5ea1041b5dc3614f834624f79dd42120cd7f3479ea176776e6fb2205a7f507a6996f87ba98ca2be55fdaedc17f11f58614b3a25e81f
|
7
|
+
data.tar.gz: 1dbff8785f57ca474f9f2a1570592bed7b7f19211e0257d93f5c2afb71b2686e7b9d8f4979f0d6ddef725e0d4d5e629f8455ea5ca84175bb50295ea5639a7671
|
data/lib/posting_zon.rb
CHANGED
@@ -29,8 +29,37 @@ using Rainbow
|
|
29
29
|
|
30
30
|
class Naver
|
31
31
|
def initialize
|
32
|
+
kill_selenium_chrome #기존 창 모두 닫는 명령
|
33
|
+
sleep(1)
|
32
34
|
end
|
33
35
|
|
36
|
+
def kill_selenium_chrome #기존 창 모두 닫는 코드
|
37
|
+
wmi = WIN32OLE.connect("winmgmts://")
|
38
|
+
chrome_procs = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
|
39
|
+
|
40
|
+
chrome_procs.each do |proc|
|
41
|
+
cmd = proc.CommandLine
|
42
|
+
if cmd && cmd.include?("user-data-dir=C:/board_cookie")
|
43
|
+
puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
|
44
|
+
begin
|
45
|
+
proc.Terminate
|
46
|
+
rescue
|
47
|
+
#puts "→ 이미 종료된 프로세스: #{proc.ProcessId}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# chromedriver도 같이 종료
|
53
|
+
chromedrivers = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chromedriver.exe'")
|
54
|
+
chromedrivers.each do |proc|
|
55
|
+
puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
|
56
|
+
begin
|
57
|
+
proc.Terminate
|
58
|
+
rescue
|
59
|
+
#puts "→ 이미 종료된 chromedriver: #{proc.ProcessId}"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
34
63
|
|
35
64
|
def chrome_setup(proxy, board_cookie_dir = "C:/board_cookie")
|
36
65
|
board_cookie_dir = "C:/board_cookie"
|
@@ -285,8 +314,10 @@ class Naver
|
|
285
314
|
sleep(1)
|
286
315
|
rescue
|
287
316
|
@driver.quit
|
317
|
+
sleep(1)
|
288
318
|
@driver.close
|
289
319
|
return 0
|
320
|
+
sleep(1)
|
290
321
|
end
|
291
322
|
end
|
292
323
|
|
@@ -490,8 +521,10 @@ class Naver
|
|
490
521
|
end
|
491
522
|
|
492
523
|
@driver.quit
|
524
|
+
sleep(1)
|
493
525
|
@driver.close
|
494
526
|
return 0
|
527
|
+
sleep(1)
|
495
528
|
end
|
496
529
|
|
497
530
|
|
@@ -510,8 +543,10 @@ class Naver
|
|
510
543
|
end
|
511
544
|
|
512
545
|
@driver.quit
|
546
|
+
sleep(1)
|
513
547
|
@driver.close
|
514
548
|
return 0
|
549
|
+
sleep(1)
|
515
550
|
end
|
516
551
|
|
517
552
|
end
|
@@ -529,8 +564,10 @@ class Naver
|
|
529
564
|
end
|
530
565
|
end
|
531
566
|
@driver.quit
|
567
|
+
sleep(1)
|
532
568
|
@driver.close
|
533
569
|
return 0
|
570
|
+
sleep(1)
|
534
571
|
end
|
535
572
|
|
536
573
|
|
@@ -544,7 +581,7 @@ class Naver
|
|
544
581
|
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
545
582
|
#요소가 나타날 때까지 3초 동안 기다립니다.
|
546
583
|
wait.until { @driver.find_element(xpath: '//section[@class="lwrbTd"]//button[@jsname="ajZLRd"]') } #추가 되어 있음
|
547
|
-
|
584
|
+
sleep(1)
|
548
585
|
@driver.manage.window.maximize
|
549
586
|
sleep(1)
|
550
587
|
rescue => e
|
@@ -559,8 +596,10 @@ class Naver
|
|
559
596
|
end
|
560
597
|
end
|
561
598
|
@driver.quit
|
599
|
+
sleep(1)
|
562
600
|
@driver.close
|
563
|
-
|
601
|
+
return 0
|
602
|
+
sleep(1)
|
564
603
|
end
|
565
604
|
end
|
566
605
|
|
@@ -610,22 +649,29 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
610
649
|
if error_text
|
611
650
|
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
612
651
|
@driver.quit if @driver
|
613
|
-
|
614
|
-
@driver.close
|
652
|
+
return 0
|
615
653
|
end
|
616
654
|
rescue
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
655
|
+
begin
|
656
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
657
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
658
|
+
if error_text
|
659
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
660
|
+
@driver.quit if @driver
|
661
|
+
return 0
|
662
|
+
end
|
663
|
+
rescue
|
664
|
+
begin
|
665
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
666
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
667
|
+
if error_text
|
668
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
669
|
+
@driver.quit if @driver
|
670
|
+
return 0
|
671
|
+
end
|
672
|
+
rescue
|
673
|
+
end
|
627
674
|
end
|
628
|
-
rescue
|
629
675
|
end
|
630
676
|
|
631
677
|
begin
|
@@ -702,9 +748,10 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
702
748
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
703
749
|
end
|
704
750
|
end
|
705
|
-
|
751
|
+
sleep(1)
|
706
752
|
@driver.quit
|
707
|
-
|
753
|
+
return 0
|
754
|
+
sleep(1)
|
708
755
|
rescue
|
709
756
|
begin
|
710
757
|
# 타임아웃을 77초로 설정
|
@@ -720,7 +767,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
720
767
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
721
768
|
puts e
|
722
769
|
@driver.close
|
723
|
-
|
770
|
+
return 0
|
724
771
|
end
|
725
772
|
end
|
726
773
|
rescue
|
@@ -736,23 +783,24 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
736
783
|
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
737
784
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
738
785
|
sleep(10)
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
786
|
+
begin
|
787
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
788
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
789
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
790
|
+
@driver.window_handles.each do |handle|
|
791
|
+
@driver.switch_to.window(handle)
|
792
|
+
begin
|
793
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
794
|
+
@driver.close
|
795
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
796
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
797
|
+
end
|
798
|
+
end
|
799
|
+
sleep(1)
|
800
|
+
@driver.quit
|
801
|
+
return 0
|
802
|
+
sleep(1)
|
803
|
+
rescue
|
756
804
|
begin
|
757
805
|
# 타임아웃을 77초로 설정
|
758
806
|
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
@@ -768,7 +816,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
768
816
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
769
817
|
puts e
|
770
818
|
@driver.close
|
771
|
-
|
819
|
+
return 0
|
772
820
|
end
|
773
821
|
end
|
774
822
|
rescue
|
@@ -781,23 +829,24 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
781
829
|
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
782
830
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
783
831
|
sleep(10)
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
832
|
+
begin
|
833
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
834
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
835
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
836
|
+
@driver.window_handles.each do |handle|
|
837
|
+
@driver.switch_to.window(handle)
|
838
|
+
begin
|
839
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
840
|
+
@driver.close
|
841
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
842
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
843
|
+
end
|
844
|
+
end
|
845
|
+
sleep(1)
|
846
|
+
@driver.quit
|
847
|
+
return 0
|
848
|
+
sleep(1)
|
849
|
+
rescue
|
801
850
|
begin
|
802
851
|
# 타임아웃을 77초로 설정
|
803
852
|
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
@@ -813,7 +862,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
813
862
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
814
863
|
puts e
|
815
864
|
@driver.close
|
816
|
-
|
865
|
+
return 0
|
817
866
|
end
|
818
867
|
end
|
819
868
|
rescue
|
@@ -849,7 +898,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
849
898
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
850
899
|
puts e
|
851
900
|
@driver.close
|
852
|
-
|
901
|
+
return 0
|
853
902
|
end
|
854
903
|
end
|
855
904
|
begin
|
@@ -863,13 +912,31 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
863
912
|
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
864
913
|
error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
|
865
914
|
if error_text
|
866
|
-
puts '
|
915
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
867
916
|
@driver.quit if @driver
|
868
|
-
|
869
|
-
|
917
|
+
return 0
|
918
|
+
end
|
919
|
+
rescue
|
920
|
+
begin
|
921
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
922
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
923
|
+
if error_text
|
924
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
925
|
+
@driver.quit if @driver
|
926
|
+
return 0
|
927
|
+
end
|
928
|
+
rescue
|
929
|
+
begin
|
930
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
931
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
932
|
+
if error_text
|
933
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
934
|
+
@driver.quit if @driver
|
935
|
+
return 0
|
936
|
+
end
|
937
|
+
rescue
|
938
|
+
end
|
870
939
|
end
|
871
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
872
|
-
# 해당 텍스트가 없으면 아무 작업 안함
|
873
940
|
end
|
874
941
|
|
875
942
|
|
@@ -1062,8 +1129,10 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
1062
1129
|
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
1063
1130
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
1064
1131
|
puts e
|
1132
|
+
sleep(1)
|
1065
1133
|
@driver.close
|
1066
|
-
|
1134
|
+
return 0
|
1135
|
+
sleep(1)
|
1067
1136
|
|
1068
1137
|
end
|
1069
1138
|
end
|
@@ -1126,9 +1195,8 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
1126
1195
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
1127
1196
|
end
|
1128
1197
|
end
|
1129
|
-
#return 0
|
1130
1198
|
@driver.quit
|
1131
|
-
|
1199
|
+
return 0
|
1132
1200
|
rescue
|
1133
1201
|
# 타임아웃을 77초로 설정
|
1134
1202
|
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
@@ -3397,9 +3465,8 @@ sleep(10)
|
|
3397
3465
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3398
3466
|
end
|
3399
3467
|
end
|
3400
|
-
#return 0
|
3401
3468
|
@driver.quit
|
3402
|
-
|
3469
|
+
return 0
|
3403
3470
|
rescue
|
3404
3471
|
# 타임아웃을 77초로 설정
|
3405
3472
|
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
@@ -3535,7 +3602,7 @@ end
|
|
3535
3602
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3536
3603
|
puts e
|
3537
3604
|
@driver.close
|
3538
|
-
|
3605
|
+
return 0
|
3539
3606
|
end
|
3540
3607
|
|
3541
3608
|
|
@@ -3579,24 +3646,32 @@ login_url = option['login_url'].to_s
|
|
3579
3646
|
if error_text
|
3580
3647
|
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
3581
3648
|
@driver.quit if @driver
|
3582
|
-
|
3583
|
-
#return 0
|
3649
|
+
return 0
|
3584
3650
|
end
|
3585
3651
|
rescue
|
3586
|
-
|
3587
|
-
|
3588
|
-
|
3589
|
-
|
3590
|
-
|
3591
|
-
|
3592
|
-
|
3593
|
-
|
3594
|
-
|
3595
|
-
|
3652
|
+
begin
|
3653
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
3654
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
3655
|
+
if error_text
|
3656
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
3657
|
+
@driver.quit if @driver
|
3658
|
+
return 0
|
3659
|
+
end
|
3660
|
+
rescue
|
3661
|
+
begin
|
3662
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
3663
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
3664
|
+
if error_text
|
3665
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
3666
|
+
@driver.quit if @driver
|
3667
|
+
return 0
|
3668
|
+
end
|
3669
|
+
rescue
|
3670
|
+
end
|
3596
3671
|
end
|
3597
|
-
rescue
|
3598
3672
|
end
|
3599
3673
|
|
3674
|
+
|
3600
3675
|
begin
|
3601
3676
|
wait = Selenium::WebDriver::Wait.new(:timeout => 2) # 3초 대기
|
3602
3677
|
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
@@ -3656,9 +3731,8 @@ login_url = option['login_url'].to_s
|
|
3656
3731
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3657
3732
|
end
|
3658
3733
|
end
|
3659
|
-
#return 0
|
3660
3734
|
@driver.quit
|
3661
|
-
|
3735
|
+
return 0
|
3662
3736
|
rescue
|
3663
3737
|
begin
|
3664
3738
|
# 타임아웃을 77초로 설정
|
@@ -3698,9 +3772,8 @@ login_url = option['login_url'].to_s
|
|
3698
3772
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3699
3773
|
end
|
3700
3774
|
end
|
3701
|
-
#return 0
|
3702
3775
|
@driver.quit
|
3703
|
-
|
3776
|
+
return 0
|
3704
3777
|
rescue
|
3705
3778
|
begin
|
3706
3779
|
# 타임아웃을 77초로 설정
|
@@ -3738,9 +3811,8 @@ login_url = option['login_url'].to_s
|
|
3738
3811
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3739
3812
|
end
|
3740
3813
|
end
|
3741
|
-
#return 0
|
3742
3814
|
@driver.quit
|
3743
|
-
|
3815
|
+
return 0
|
3744
3816
|
rescue
|
3745
3817
|
begin
|
3746
3818
|
# 타임아웃을 77초로 설정
|
@@ -3780,9 +3852,8 @@ login_url = option['login_url'].to_s
|
|
3780
3852
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3781
3853
|
end
|
3782
3854
|
end
|
3783
|
-
#return 0
|
3784
3855
|
@driver.quit
|
3785
|
-
|
3856
|
+
return 0
|
3786
3857
|
rescue
|
3787
3858
|
begin
|
3788
3859
|
# 타임아웃을 77초로 설정
|
@@ -4477,19 +4548,38 @@ login_url = option['login_url'].to_s
|
|
4477
4548
|
end
|
4478
4549
|
##<─────────────────────────────────────────────────────────────────────팝업 코드 확인 및 제거 부분
|
4479
4550
|
|
4551
|
+
begin
|
4552
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
4553
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
|
4554
|
+
if error_text
|
4555
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
4556
|
+
@driver.quit if @driver
|
4557
|
+
return 0
|
4558
|
+
end
|
4559
|
+
rescue
|
4560
|
+
begin
|
4561
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
4562
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
4563
|
+
if error_text
|
4564
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
4565
|
+
@driver.quit if @driver
|
4566
|
+
return 0
|
4567
|
+
end
|
4568
|
+
rescue
|
4569
|
+
begin
|
4570
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
4571
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
4572
|
+
if error_text
|
4573
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
4574
|
+
@driver.quit if @driver
|
4575
|
+
return 0
|
4576
|
+
end
|
4577
|
+
rescue Selenium::WebDriver::Error::NoSuchElementError
|
4578
|
+
@driver.action.key_down(:tab).key_up(:tab).perform #x탭
|
4579
|
+
end
|
4580
|
+
end
|
4581
|
+
end
|
4480
4582
|
|
4481
|
-
begin
|
4482
|
-
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
4483
|
-
error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
|
4484
|
-
if error_text
|
4485
|
-
puts '사이트에 연결할 수 없음 텍스트가 발견되었습니다. 창을 닫습니다.'
|
4486
|
-
@driver.quit if @driver
|
4487
|
-
@driver.close
|
4488
|
-
#return 0
|
4489
|
-
end
|
4490
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
4491
|
-
@driver.action.key_down(:tab).key_up(:tab).perform #x탭
|
4492
|
-
end
|
4493
4583
|
|
4494
4584
|
##아이디 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
4495
4585
|
|
@@ -4960,22 +5050,29 @@ begin
|
|
4960
5050
|
if error_text
|
4961
5051
|
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
4962
5052
|
@driver.quit if @driver
|
4963
|
-
|
4964
|
-
#return 0
|
5053
|
+
return 0
|
4965
5054
|
end
|
4966
5055
|
rescue
|
4967
|
-
|
4968
|
-
|
4969
|
-
|
4970
|
-
|
4971
|
-
|
4972
|
-
|
4973
|
-
|
4974
|
-
|
4975
|
-
|
4976
|
-
|
5056
|
+
begin
|
5057
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5058
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
5059
|
+
if error_text
|
5060
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5061
|
+
@driver.quit if @driver
|
5062
|
+
return 0
|
5063
|
+
end
|
5064
|
+
rescue
|
5065
|
+
begin
|
5066
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5067
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
5068
|
+
if error_text
|
5069
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5070
|
+
@driver.quit if @driver
|
5071
|
+
return 0
|
5072
|
+
end
|
5073
|
+
rescue
|
5074
|
+
end
|
4977
5075
|
end
|
4978
|
-
rescue
|
4979
5076
|
end
|
4980
5077
|
|
4981
5078
|
begin
|
@@ -5007,45 +5104,43 @@ begin
|
|
5007
5104
|
rescue
|
5008
5105
|
end
|
5009
5106
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
5010
|
-
|
5011
|
-
|
5012
|
-
|
5013
|
-
|
5014
|
-
|
5015
|
-
|
5016
|
-
|
5017
|
-
|
5018
|
-
|
5019
|
-
|
5020
|
-
|
5021
|
-
|
5022
|
-
|
5023
|
-
|
5024
|
-
|
5025
|
-
|
5026
|
-
|
5027
|
-
|
5028
|
-
|
5029
|
-
|
5030
|
-
|
5031
|
-
|
5032
|
-
|
5033
|
-
|
5034
|
-
|
5035
|
-
|
5036
|
-
|
5037
|
-
|
5038
|
-
|
5039
|
-
|
5040
|
-
|
5041
|
-
|
5042
|
-
|
5043
|
-
|
5044
|
-
|
5045
|
-
|
5046
|
-
|
5047
|
-
sleep(3)
|
5048
|
-
end
|
5107
|
+
begin
|
5108
|
+
sleep(5)
|
5109
|
+
# 타임아웃을 3초로 설정
|
5110
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
5111
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
5112
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
5113
|
+
sleep(1)
|
5114
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
5115
|
+
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
5116
|
+
sleep(10)
|
5117
|
+
begin
|
5118
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
5119
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
5120
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
5121
|
+
@driver.window_handles.each do |handle|
|
5122
|
+
@driver.switch_to.window(handle)
|
5123
|
+
begin
|
5124
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
5125
|
+
@driver.close
|
5126
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
5127
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
5128
|
+
end
|
5129
|
+
end
|
5130
|
+
sleep(1)
|
5131
|
+
@driver.quit
|
5132
|
+
return 0
|
5133
|
+
sleep(1)
|
5134
|
+
rescue
|
5135
|
+
# 타임아웃을 77초로 설정
|
5136
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
5137
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
5138
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
|
5139
|
+
sleep(1)
|
5140
|
+
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
5141
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
5142
|
+
sleep(3)
|
5143
|
+
end
|
5049
5144
|
rescue
|
5050
5145
|
puts '-[√] 캡챠 발생 없음.......'.green
|
5051
5146
|
end
|
@@ -5072,7 +5167,7 @@ begin
|
|
5072
5167
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
5073
5168
|
puts e
|
5074
5169
|
@driver.close
|
5075
|
-
|
5170
|
+
return 0
|
5076
5171
|
end
|
5077
5172
|
end
|
5078
5173
|
|
@@ -5080,13 +5175,31 @@ begin
|
|
5080
5175
|
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5081
5176
|
error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
|
5082
5177
|
if error_text
|
5083
|
-
puts '
|
5178
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5084
5179
|
@driver.quit if @driver
|
5085
|
-
|
5086
|
-
|
5180
|
+
return 0
|
5181
|
+
end
|
5182
|
+
rescue
|
5183
|
+
begin
|
5184
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5185
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
5186
|
+
if error_text
|
5187
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5188
|
+
@driver.quit if @driver
|
5189
|
+
return 0
|
5190
|
+
end
|
5191
|
+
rescue
|
5192
|
+
begin
|
5193
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5194
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
5195
|
+
if error_text
|
5196
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5197
|
+
@driver.quit if @driver
|
5198
|
+
return 0
|
5199
|
+
end
|
5200
|
+
rescue
|
5201
|
+
end
|
5087
5202
|
end
|
5088
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
5089
|
-
# 해당 텍스트가 없으면 아무 작업 안함
|
5090
5203
|
end
|
5091
5204
|
|
5092
5205
|
|
@@ -5278,22 +5391,29 @@ post_url = option['post_url'].to_s
|
|
5278
5391
|
if error_text
|
5279
5392
|
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5280
5393
|
@driver.quit if @driver
|
5281
|
-
|
5282
|
-
#return 0
|
5394
|
+
return 0
|
5283
5395
|
end
|
5284
5396
|
rescue
|
5285
|
-
|
5286
|
-
|
5287
|
-
|
5288
|
-
|
5289
|
-
|
5290
|
-
|
5291
|
-
|
5292
|
-
|
5293
|
-
|
5294
|
-
|
5397
|
+
begin
|
5398
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5399
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
5400
|
+
if error_text
|
5401
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5402
|
+
@driver.quit if @driver
|
5403
|
+
return 0
|
5404
|
+
end
|
5405
|
+
rescue
|
5406
|
+
begin
|
5407
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5408
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
5409
|
+
if error_text
|
5410
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5411
|
+
@driver.quit if @driver
|
5412
|
+
return 0
|
5413
|
+
end
|
5414
|
+
rescue
|
5415
|
+
end
|
5295
5416
|
end
|
5296
|
-
rescue
|
5297
5417
|
end
|
5298
5418
|
|
5299
5419
|
begin
|
@@ -5407,8 +5527,10 @@ post_url = option['post_url'].to_s
|
|
5407
5527
|
end
|
5408
5528
|
end
|
5409
5529
|
#return 0
|
5530
|
+
sleep(1)
|
5410
5531
|
@driver.quit
|
5411
|
-
|
5532
|
+
return 0
|
5533
|
+
sleep(1)
|
5412
5534
|
rescue
|
5413
5535
|
begin
|
5414
5536
|
# 타임아웃을 77초로 설정
|
@@ -5424,7 +5546,7 @@ post_url = option['post_url'].to_s
|
|
5424
5546
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
5425
5547
|
puts e
|
5426
5548
|
@driver.close
|
5427
|
-
|
5549
|
+
return 0
|
5428
5550
|
end
|
5429
5551
|
end
|
5430
5552
|
rescue
|
@@ -5454,8 +5576,10 @@ post_url = option['post_url'].to_s
|
|
5454
5576
|
end
|
5455
5577
|
end
|
5456
5578
|
#return 0
|
5579
|
+
sleep(1)
|
5457
5580
|
@driver.quit
|
5458
|
-
|
5581
|
+
return 0
|
5582
|
+
sleep(1)
|
5459
5583
|
rescue
|
5460
5584
|
begin
|
5461
5585
|
# 타임아웃을 77초로 설정
|
@@ -5472,7 +5596,7 @@ post_url = option['post_url'].to_s
|
|
5472
5596
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
5473
5597
|
puts e
|
5474
5598
|
@driver.close
|
5475
|
-
|
5599
|
+
return 0
|
5476
5600
|
end
|
5477
5601
|
end
|
5478
5602
|
rescue
|
@@ -5521,8 +5645,9 @@ post_url = option['post_url'].to_s
|
|
5521
5645
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
5522
5646
|
puts e
|
5523
5647
|
@driver.quit
|
5524
|
-
|
5525
|
-
|
5648
|
+
sleep(1)
|
5649
|
+
return 0
|
5650
|
+
sleep(1)
|
5526
5651
|
end
|
5527
5652
|
end
|
5528
5653
|
|
@@ -5533,16 +5658,34 @@ post_url = option['post_url'].to_s
|
|
5533
5658
|
end
|
5534
5659
|
|
5535
5660
|
begin
|
5536
|
-
|
5537
|
-
|
5538
|
-
|
5539
|
-
|
5661
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5662
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
|
5663
|
+
if error_text
|
5664
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5665
|
+
@driver.quit if @driver
|
5666
|
+
return 0
|
5667
|
+
end
|
5668
|
+
rescue
|
5669
|
+
begin
|
5670
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5671
|
+
error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
|
5672
|
+
if error_text
|
5673
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5540
5674
|
@driver.quit if @driver
|
5541
|
-
|
5542
|
-
|
5543
|
-
|
5544
|
-
|
5545
|
-
|
5675
|
+
return 0
|
5676
|
+
end
|
5677
|
+
rescue
|
5678
|
+
begin
|
5679
|
+
# 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
|
5680
|
+
error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
|
5681
|
+
if error_text
|
5682
|
+
puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
|
5683
|
+
@driver.quit if @driver
|
5684
|
+
return 0
|
5685
|
+
end
|
5686
|
+
rescue
|
5687
|
+
end
|
5688
|
+
end
|
5546
5689
|
end
|
5547
5690
|
|
5548
5691
|
|
@@ -7516,7 +7659,9 @@ end
|
|
7516
7659
|
end
|
7517
7660
|
#return 0
|
7518
7661
|
@driver.quit
|
7519
|
-
|
7662
|
+
sleep(1)
|
7663
|
+
return 0
|
7664
|
+
sleep(1)
|
7520
7665
|
end
|
7521
7666
|
end
|
7522
7667
|
end
|
@@ -9329,7 +9474,9 @@ if check_captcha == 1
|
|
9329
9474
|
end
|
9330
9475
|
#return 0
|
9331
9476
|
@driver.quit
|
9332
|
-
|
9477
|
+
sleep(1)
|
9478
|
+
return 0
|
9479
|
+
sleep(1)
|
9333
9480
|
rescue
|
9334
9481
|
# 타임아웃을 77초로 설정
|
9335
9482
|
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
@@ -9343,7 +9490,7 @@ if check_captcha == 1
|
|
9343
9490
|
@driver.find_element(:xpath, '//*[@name="user_captcha"]').click
|
9344
9491
|
sleep(1)
|
9345
9492
|
@driver.action.key_down(:right).key_up(:right).perform
|
9346
|
-
|
9493
|
+
rescue
|
9347
9494
|
begin
|
9348
9495
|
@driver.find_element(:xpath, '//*[@id="user_captcha"]').click
|
9349
9496
|
sleep(1)
|
@@ -10846,65 +10993,67 @@ puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.gr
|
|
10846
10993
|
|
10847
10994
|
sleep(10)
|
10848
10995
|
begin
|
10849
|
-
|
10850
|
-
|
10851
|
-
|
10852
|
-
|
10853
|
-
|
10854
|
-
|
10855
|
-
|
10856
|
-
|
10857
|
-
|
10858
|
-
|
10859
|
-
|
10860
|
-
|
10861
|
-
|
10862
|
-
|
10863
|
-
|
10996
|
+
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
10997
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
10998
|
+
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
10999
|
+
@driver.window_handles.each do |handle|
|
11000
|
+
@driver.switch_to.window(handle)
|
11001
|
+
begin
|
11002
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
11003
|
+
@driver.close
|
11004
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
11005
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
11006
|
+
end
|
11007
|
+
end
|
11008
|
+
#return 0
|
11009
|
+
@driver.quit
|
11010
|
+
sleep(1)
|
11011
|
+
return 0
|
11012
|
+
sleep(1)
|
10864
11013
|
rescue
|
10865
|
-
|
10866
|
-
|
10867
|
-
|
10868
|
-
|
10869
|
-
|
10870
|
-
|
10871
|
-
|
10872
|
-
|
10873
|
-
|
10874
|
-
begin
|
10875
|
-
@driver.find_element(:xpath, '//*[@name="user_captcha"]').click
|
10876
|
-
sleep(1)
|
10877
|
-
@driver.action.key_down(:right).key_up(:right).perform
|
10878
|
-
rescue
|
11014
|
+
# 타임아웃을 77초로 설정
|
11015
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
11016
|
+
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
11017
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
|
11018
|
+
sleep(1)
|
11019
|
+
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
11020
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
11021
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>.......'.green
|
11022
|
+
sleep(5)
|
10879
11023
|
begin
|
10880
|
-
@driver.find_element(:xpath, '//*[@
|
11024
|
+
@driver.find_element(:xpath, '//*[@name="user_captcha"]').click
|
10881
11025
|
sleep(1)
|
10882
|
-
|
11026
|
+
@driver.action.key_down(:right).key_up(:right).perform
|
10883
11027
|
rescue
|
10884
11028
|
begin
|
10885
|
-
@driver.find_element(:xpath, '//*[@
|
11029
|
+
@driver.find_element(:xpath, '//*[@id="user_captcha"]').click
|
10886
11030
|
sleep(1)
|
10887
|
-
|
11031
|
+
@driver.action.key_down(:right).key_up(:right).perform
|
10888
11032
|
rescue
|
10889
11033
|
begin
|
10890
|
-
|
10891
|
-
|
10892
|
-
|
10893
|
-
|
10894
|
-
sleep(2)
|
10895
|
-
@driver.execute_script("arguments[0].click();", button)
|
10896
|
-
|
11034
|
+
@driver.find_element(:xpath, '//*[@title="자동글쓰기방지"]').click
|
11035
|
+
sleep(1)
|
11036
|
+
@driver.action.key_down(:right).key_up(:right).perform
|
11037
|
+
rescue
|
10897
11038
|
begin
|
10898
|
-
|
10899
|
-
|
10900
|
-
@driver.
|
10901
|
-
|
11039
|
+
#2차 확인 버튼 있을시
|
11040
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>>>.......'.green
|
11041
|
+
button = @driver.find_element(:xpath, '//input[@type="button" and @id="captch_button" and @value="확인"]')
|
11042
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", button)
|
11043
|
+
sleep(2)
|
11044
|
+
@driver.execute_script("arguments[0].click();", button)
|
11045
|
+
|
11046
|
+
begin
|
11047
|
+
wait = Selenium::WebDriver::Wait.new(timeout: 3)
|
11048
|
+
wait.until { @driver.switch_to.alert }
|
11049
|
+
@driver.switch_to.alert.accept
|
11050
|
+
rescue
|
11051
|
+
end
|
11052
|
+
rescue
|
10902
11053
|
end
|
10903
|
-
rescue
|
10904
11054
|
end
|
10905
11055
|
end
|
10906
11056
|
end
|
10907
|
-
end
|
10908
11057
|
sleep(1)
|
10909
11058
|
end
|
10910
11059
|
rescue
|
@@ -11679,7 +11828,9 @@ rescue => e
|
|
11679
11828
|
end
|
11680
11829
|
#return 0
|
11681
11830
|
@driver.quit
|
11682
|
-
|
11831
|
+
sleep(1)
|
11832
|
+
return 0
|
11833
|
+
sleep(1)
|
11683
11834
|
end
|
11684
11835
|
|
11685
11836
|
|
@@ -11704,7 +11855,6 @@ end
|
|
11704
11855
|
banned_word = $1
|
11705
11856
|
end
|
11706
11857
|
|
11707
|
-
|
11708
11858
|
if banned_word
|
11709
11859
|
puts "금지단어 발견: [#{banned_word}]".red
|
11710
11860
|
puts "[#{banned_word}] 금지단어 제거 후 재 시도 진행!!".red
|
@@ -11740,26 +11890,33 @@ end #반복루프
|
|
11740
11890
|
|
11741
11891
|
|
11742
11892
|
begin
|
11893
|
+
# log 디렉토리가 없다면 생성
|
11894
|
+
Dir.mkdir('./log') unless Dir.exist?('./log')
|
11895
|
+
|
11743
11896
|
posting_url = @driver.current_url
|
11744
|
-
|
11745
|
-
|
11746
|
-
|
11747
|
-
|
11748
|
-
|
11749
|
-
|
11750
|
-
|
11751
|
-
|
11752
|
-
|
11753
|
-
|
11754
|
-
|
11897
|
+
|
11898
|
+
# 오늘 날짜로 파일명 생성
|
11899
|
+
today_str = Date.today.strftime("%Y-%m-%d")
|
11900
|
+
file_path = "./log/#{today_str}-posting_log.txt"
|
11901
|
+
|
11902
|
+
File.open(file_path, 'a') do |ff|
|
11903
|
+
ff.write('[')
|
11904
|
+
ff.write(DateTime.now.strftime("%Y년%m월%d일 %H시%M분"))
|
11905
|
+
ff.write(']')
|
11906
|
+
ff.write(user_id)
|
11907
|
+
ff.write(',')
|
11908
|
+
ff.write(user_pw)
|
11909
|
+
ff.write(',')
|
11910
|
+
ff.write(posting_url)
|
11911
|
+
|
11912
|
+
if alert_text
|
11755
11913
|
ff.write(' ▶')
|
11756
11914
|
ff.write("팝업내용: #{alert_text}")
|
11757
|
-
|
11915
|
+
end
|
11758
11916
|
|
11759
|
-
|
11760
|
-
|
11761
|
-
|
11762
|
-
end
|
11917
|
+
ff.write("\n")
|
11918
|
+
puts '-[√] 로그 파일 기록 완료.......'.yellow
|
11919
|
+
end
|
11763
11920
|
rescue
|
11764
11921
|
end
|
11765
11922
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: posting_zon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.97.999
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-05-
|
10
|
+
date: 2025-05-28 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: posting app
|
13
13
|
email: mymin26@naver.com
|