posting_zon 3.93.999 → 3.96.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/posting_zon.rb +384 -251
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f4349aa4d6d334d75f10f8201bef38d68e68d10ce0d4f69e5a41712b06b0008
4
- data.tar.gz: 36fd1cc6515ee15cd900aca854ebafb9cba1184c41d68b87484375196c593ce9
3
+ metadata.gz: 7109711520cbbb3eba2417f47ef9adea620dd40e0d0cc11756437668616c47de
4
+ data.tar.gz: 894a122a25ee6a1bd2ba05ebedef80a780a0c6a63c4b61a62c026a9312b80163
5
5
  SHA512:
6
- metadata.gz: 52f3a16854d9f9aeec6d3fe9d22c8ab01d327915ab00851f264b00b7899b3f7619a406f3cfbe1d62f7362344bfccf1f4bcff57323b784a716c09118ff4824bb4
7
- data.tar.gz: 24c6b6e22de1b24276275efaaeb9080a74309cf07f7a02c674a0d07e30ffb602031e013c1a1807527294ea76ec49b552054bb6c03740217fa86b1d8587920f2a
6
+ metadata.gz: bae14d6890fafcb8fbe10e19542c7f07461bc9a96fe76e1134097700d31bc5b0a87e09fbcedb49d674615c71ea2ca4da75cb691dba3d11c3e14ba50caf16e326
7
+ data.tar.gz: 196b55cde5a223b4b2586d7aacb0378f338c63b7f6dc8bd0df0b7cb92abaa677a1024ddbaa3b5232d12e1e4a830da62d8c47bca29d1e8b740080eac45ae21770
data/lib/posting_zon.rb CHANGED
@@ -285,8 +285,10 @@ class Naver
285
285
  sleep(1)
286
286
  rescue
287
287
  @driver.quit
288
+ sleep(1)
288
289
  @driver.close
289
290
  return 0
291
+ sleep(1)
290
292
  end
291
293
  end
292
294
 
@@ -490,8 +492,10 @@ class Naver
490
492
  end
491
493
 
492
494
  @driver.quit
495
+ sleep(1)
493
496
  @driver.close
494
497
  return 0
498
+ sleep(1)
495
499
  end
496
500
 
497
501
 
@@ -510,8 +514,10 @@ class Naver
510
514
  end
511
515
 
512
516
  @driver.quit
517
+ sleep(1)
513
518
  @driver.close
514
519
  return 0
520
+ sleep(1)
515
521
  end
516
522
 
517
523
  end
@@ -529,8 +535,10 @@ class Naver
529
535
  end
530
536
  end
531
537
  @driver.quit
538
+ sleep(1)
532
539
  @driver.close
533
540
  return 0
541
+ sleep(1)
534
542
  end
535
543
 
536
544
 
@@ -544,7 +552,7 @@ class Naver
544
552
  wait = Selenium::WebDriver::Wait.new(:timeout => 5)
545
553
  #요소가 나타날 때까지 3초 동안 기다립니다.
546
554
  wait.until { @driver.find_element(xpath: '//section[@class="lwrbTd"]//button[@jsname="ajZLRd"]') } #추가 되어 있음
547
-
555
+ sleep(1)
548
556
  @driver.manage.window.maximize
549
557
  sleep(1)
550
558
  rescue => e
@@ -559,8 +567,10 @@ class Naver
559
567
  end
560
568
  end
561
569
  @driver.quit
570
+ sleep(1)
562
571
  @driver.close
563
- # return 0
572
+ return 0
573
+ sleep(1)
564
574
  end
565
575
  end
566
576
 
@@ -610,22 +620,29 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
610
620
  if error_text
611
621
  puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
612
622
  @driver.quit if @driver
613
- #return 0
614
- @driver.close
623
+ return 0
615
624
  end
616
625
  rescue
617
- end
618
-
619
- begin
620
- # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
621
- error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
622
- if error_text
623
- puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
624
- @driver.quit if @driver
625
- #return 0
626
- @driver.close
626
+ begin
627
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
628
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
629
+ if error_text
630
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
631
+ @driver.quit if @driver
632
+ return 0
633
+ end
634
+ rescue
635
+ begin
636
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
637
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
638
+ if error_text
639
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
640
+ @driver.quit if @driver
641
+ return 0
642
+ end
643
+ rescue
644
+ end
627
645
  end
628
- rescue
629
646
  end
630
647
 
631
648
  begin
@@ -702,9 +719,10 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
702
719
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
703
720
  end
704
721
  end
705
- #return 0
722
+ sleep(1)
706
723
  @driver.quit
707
- @driver.close
724
+ return 0
725
+ sleep(1)
708
726
  rescue
709
727
  begin
710
728
  # 타임아웃을 77초로 설정
@@ -720,7 +738,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
720
738
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
721
739
  puts e
722
740
  @driver.close
723
- #return 0
741
+ return 0
724
742
  end
725
743
  end
726
744
  rescue
@@ -736,23 +754,24 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
736
754
  @driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
737
755
  puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
738
756
  sleep(10)
739
- begin
740
- @driver.find_element(:xpath, '//*[@data-state="error"]').click
741
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
742
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
743
- @driver.window_handles.each do |handle|
744
- @driver.switch_to.window(handle)
745
- begin
746
- # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
747
- @driver.close
748
- rescue Selenium::WebDriver::Error::WebDriverError => e
749
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
750
- end
751
- end
752
- #return 0
753
- @driver.quit
754
- @driver.close
755
- rescue
757
+ begin
758
+ @driver.find_element(:xpath, '//*[@data-state="error"]').click
759
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
760
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
761
+ @driver.window_handles.each do |handle|
762
+ @driver.switch_to.window(handle)
763
+ begin
764
+ # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
765
+ @driver.close
766
+ rescue Selenium::WebDriver::Error::WebDriverError => e
767
+ puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
768
+ end
769
+ end
770
+ sleep(1)
771
+ @driver.quit
772
+ return 0
773
+ sleep(1)
774
+ rescue
756
775
  begin
757
776
  # 타임아웃을 77초로 설정
758
777
  wait = Selenium::WebDriver::Wait.new(:timeout => 150)
@@ -768,7 +787,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
768
787
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
769
788
  puts e
770
789
  @driver.close
771
- #return 0
790
+ return 0
772
791
  end
773
792
  end
774
793
  rescue
@@ -781,23 +800,24 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
781
800
  @driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
782
801
  puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
783
802
  sleep(10)
784
- begin
785
- @driver.find_element(:xpath, '//*[@data-state="error"]').click
786
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
787
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
788
- @driver.window_handles.each do |handle|
789
- @driver.switch_to.window(handle)
790
- begin
791
- # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
792
- @driver.close
793
- rescue Selenium::WebDriver::Error::WebDriverError => e
794
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
795
- end
796
- end
797
- #return 0
798
- @driver.quit
799
- @driver.close
800
- rescue
803
+ begin
804
+ @driver.find_element(:xpath, '//*[@data-state="error"]').click
805
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
806
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
807
+ @driver.window_handles.each do |handle|
808
+ @driver.switch_to.window(handle)
809
+ begin
810
+ # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
811
+ @driver.close
812
+ rescue Selenium::WebDriver::Error::WebDriverError => e
813
+ puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
814
+ end
815
+ end
816
+ sleep(1)
817
+ @driver.quit
818
+ return 0
819
+ sleep(1)
820
+ rescue
801
821
  begin
802
822
  # 타임아웃을 77초로 설정
803
823
  wait = Selenium::WebDriver::Wait.new(:timeout => 150)
@@ -813,7 +833,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
813
833
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
814
834
  puts e
815
835
  @driver.close
816
- #return 0
836
+ return 0
817
837
  end
818
838
  end
819
839
  rescue
@@ -849,7 +869,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
849
869
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
850
870
  puts e
851
871
  @driver.close
852
- #return 0
872
+ return 0
853
873
  end
854
874
  end
855
875
  begin
@@ -863,13 +883,31 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
863
883
  # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
864
884
  error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
865
885
  if error_text
866
- puts '사이트에 연결할 없음 텍스트가 발견되었습니다. 창을 닫습니다.'
886
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
867
887
  @driver.quit if @driver
868
- @driver.close
869
- #return 0
888
+ return 0
889
+ end
890
+ rescue
891
+ begin
892
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
893
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
894
+ if error_text
895
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
896
+ @driver.quit if @driver
897
+ return 0
898
+ end
899
+ rescue
900
+ begin
901
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
902
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
903
+ if error_text
904
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
905
+ @driver.quit if @driver
906
+ return 0
907
+ end
908
+ rescue
909
+ end
870
910
  end
871
- rescue Selenium::WebDriver::Error::NoSuchElementError
872
- # 해당 텍스트가 없으면 아무 작업 안함
873
911
  end
874
912
 
875
913
 
@@ -1062,8 +1100,10 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
1062
1100
  puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
1063
1101
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
1064
1102
  puts e
1103
+ sleep(1)
1065
1104
  @driver.close
1066
- #return 0
1105
+ return 0
1106
+ sleep(1)
1067
1107
 
1068
1108
  end
1069
1109
  end
@@ -1126,9 +1166,8 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
1126
1166
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
1127
1167
  end
1128
1168
  end
1129
- #return 0
1130
1169
  @driver.quit
1131
- @driver.close
1170
+ return 0
1132
1171
  rescue
1133
1172
  # 타임아웃을 77초로 설정
1134
1173
  wait = Selenium::WebDriver::Wait.new(:timeout => 150)
@@ -3397,9 +3436,8 @@ sleep(10)
3397
3436
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
3398
3437
  end
3399
3438
  end
3400
- #return 0
3401
3439
  @driver.quit
3402
- @driver.close
3440
+ return 0
3403
3441
  rescue
3404
3442
  # 타임아웃을 77초로 설정
3405
3443
  wait = Selenium::WebDriver::Wait.new(:timeout => 150)
@@ -3535,7 +3573,7 @@ end
3535
3573
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
3536
3574
  puts e
3537
3575
  @driver.close
3538
- #return 0
3576
+ return 0
3539
3577
  end
3540
3578
 
3541
3579
 
@@ -3579,24 +3617,32 @@ login_url = option['login_url'].to_s
3579
3617
  if error_text
3580
3618
  puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
3581
3619
  @driver.quit if @driver
3582
- @driver.close
3583
- #return 0
3620
+ return 0
3584
3621
  end
3585
3622
  rescue
3586
- end
3587
-
3588
- begin
3589
- # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
3590
- error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
3591
- if error_text
3592
- puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
3593
- @driver.quit if @driver
3594
- @driver.close
3595
- #return 0
3623
+ begin
3624
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
3625
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
3626
+ if error_text
3627
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
3628
+ @driver.quit if @driver
3629
+ return 0
3630
+ end
3631
+ rescue
3632
+ begin
3633
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
3634
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
3635
+ if error_text
3636
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
3637
+ @driver.quit if @driver
3638
+ return 0
3639
+ end
3640
+ rescue
3641
+ end
3596
3642
  end
3597
- rescue
3598
3643
  end
3599
3644
 
3645
+
3600
3646
  begin
3601
3647
  wait = Selenium::WebDriver::Wait.new(:timeout => 2) # 3초 대기
3602
3648
  alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
@@ -3656,9 +3702,8 @@ login_url = option['login_url'].to_s
3656
3702
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
3657
3703
  end
3658
3704
  end
3659
- #return 0
3660
3705
  @driver.quit
3661
- @driver.close
3706
+ return 0
3662
3707
  rescue
3663
3708
  begin
3664
3709
  # 타임아웃을 77초로 설정
@@ -3698,9 +3743,8 @@ login_url = option['login_url'].to_s
3698
3743
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
3699
3744
  end
3700
3745
  end
3701
- #return 0
3702
3746
  @driver.quit
3703
- @driver.close
3747
+ return 0
3704
3748
  rescue
3705
3749
  begin
3706
3750
  # 타임아웃을 77초로 설정
@@ -3738,9 +3782,8 @@ login_url = option['login_url'].to_s
3738
3782
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
3739
3783
  end
3740
3784
  end
3741
- #return 0
3742
3785
  @driver.quit
3743
- @driver.close
3786
+ return 0
3744
3787
  rescue
3745
3788
  begin
3746
3789
  # 타임아웃을 77초로 설정
@@ -3780,9 +3823,8 @@ login_url = option['login_url'].to_s
3780
3823
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
3781
3824
  end
3782
3825
  end
3783
- #return 0
3784
3826
  @driver.quit
3785
- @driver.close
3827
+ return 0
3786
3828
  rescue
3787
3829
  begin
3788
3830
  # 타임아웃을 77초로 설정
@@ -4477,19 +4519,38 @@ login_url = option['login_url'].to_s
4477
4519
  end
4478
4520
  ##<─────────────────────────────────────────────────────────────────────팝업 코드 확인 및 제거 부분
4479
4521
 
4522
+ begin
4523
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
4524
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
4525
+ if error_text
4526
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
4527
+ @driver.quit if @driver
4528
+ return 0
4529
+ end
4530
+ rescue
4531
+ begin
4532
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
4533
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
4534
+ if error_text
4535
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
4536
+ @driver.quit if @driver
4537
+ return 0
4538
+ end
4539
+ rescue
4540
+ begin
4541
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
4542
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
4543
+ if error_text
4544
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
4545
+ @driver.quit if @driver
4546
+ return 0
4547
+ end
4548
+ rescue Selenium::WebDriver::Error::NoSuchElementError
4549
+ @driver.action.key_down(:tab).key_up(:tab).perform #x탭
4550
+ end
4551
+ end
4552
+ end
4480
4553
 
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
4554
 
4494
4555
  ##아이디 입력 코드 부분─────────────────────────────────────────────────────────────────────>
4495
4556
 
@@ -4960,22 +5021,29 @@ begin
4960
5021
  if error_text
4961
5022
  puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
4962
5023
  @driver.quit if @driver
4963
- @driver.close
4964
- #return 0
5024
+ return 0
4965
5025
  end
4966
5026
  rescue
4967
- end
4968
-
4969
- begin
4970
- # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
4971
- error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
4972
- if error_text
4973
- puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
4974
- @driver.quit if @driver
4975
- @driver.close
4976
- #return 0
5027
+ begin
5028
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5029
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
5030
+ if error_text
5031
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5032
+ @driver.quit if @driver
5033
+ return 0
5034
+ end
5035
+ rescue
5036
+ begin
5037
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5038
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
5039
+ if error_text
5040
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5041
+ @driver.quit if @driver
5042
+ return 0
5043
+ end
5044
+ rescue
5045
+ end
4977
5046
  end
4978
- rescue
4979
5047
  end
4980
5048
 
4981
5049
  begin
@@ -5007,45 +5075,43 @@ begin
5007
5075
  rescue
5008
5076
  end
5009
5077
  ##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
5010
- begin
5011
- sleep(5)
5012
-
5013
-
5014
-
5015
- # 타임아웃을 3초로 설정
5016
- wait = Selenium::WebDriver::Wait.new(:timeout => 3)
5017
- # 요소가 나타날 때까지 30초 동안 기다립니다.
5018
- wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
5019
- sleep(1)
5020
- @driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
5021
- puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
5022
- sleep(10)
5023
- begin
5024
- @driver.find_element(:xpath, '//*[@data-state="error"]').click
5025
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
5026
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
5027
- @driver.window_handles.each do |handle|
5028
- @driver.switch_to.window(handle)
5029
- begin
5030
- # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
5031
- @driver.close
5032
- rescue Selenium::WebDriver::Error::WebDriverError => e
5033
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
5034
- end
5035
- end
5036
- #return 0
5037
- @driver.quit
5038
- @driver.close
5039
- rescue
5040
- # 타임아웃을 77초로 설정
5041
- wait = Selenium::WebDriver::Wait.new(:timeout => 150)
5042
- # 요소가 나타날 때까지 100초 동안 기다립니다.
5043
- wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
5044
- sleep(1)
5045
- @driver.find_element(:xpath, '//*[@data-state="solved"]').click
5046
- puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
5047
- sleep(3)
5048
- end
5078
+ begin
5079
+ sleep(5)
5080
+ # 타임아웃을 3초로 설정
5081
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3)
5082
+ # 요소가 나타날 때까지 30초 동안 기다립니다.
5083
+ wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
5084
+ sleep(1)
5085
+ @driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
5086
+ puts '-[√] 캡챠 해제 진행 중 ( 30~60 초 소요됩니다).......'.green
5087
+ sleep(10)
5088
+ begin
5089
+ @driver.find_element(:xpath, '//*[@data-state="error"]').click
5090
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
5091
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
5092
+ @driver.window_handles.each do |handle|
5093
+ @driver.switch_to.window(handle)
5094
+ begin
5095
+ # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
5096
+ @driver.close
5097
+ rescue Selenium::WebDriver::Error::WebDriverError => e
5098
+ puts '-[√] 다음 작업 준비로 1초~60초 내외 시간이 소요됩니다.......'.red
5099
+ end
5100
+ end
5101
+ sleep(1)
5102
+ @driver.quit
5103
+ return 0
5104
+ sleep(1)
5105
+ rescue
5106
+ # 타임아웃을 77초로 설정
5107
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
5108
+ # 요소가 나타날 때까지 100초 동안 기다립니다.
5109
+ wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
5110
+ sleep(1)
5111
+ @driver.find_element(:xpath, '//*[@data-state="solved"]').click
5112
+ puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
5113
+ sleep(3)
5114
+ end
5049
5115
  rescue
5050
5116
  puts '-[√] 캡챠 발생 없음.......'.green
5051
5117
  end
@@ -5072,7 +5138,7 @@ begin
5072
5138
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
5073
5139
  puts e
5074
5140
  @driver.close
5075
- #return 0
5141
+ return 0
5076
5142
  end
5077
5143
  end
5078
5144
 
@@ -5080,13 +5146,31 @@ begin
5080
5146
  # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5081
5147
  error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
5082
5148
  if error_text
5083
- puts '사이트에 연결할 없음 텍스트가 발견되었습니다. 창을 닫습니다.'
5149
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5084
5150
  @driver.quit if @driver
5085
- @driver.close
5086
- #return 0
5151
+ return 0
5152
+ end
5153
+ rescue
5154
+ begin
5155
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5156
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
5157
+ if error_text
5158
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5159
+ @driver.quit if @driver
5160
+ return 0
5161
+ end
5162
+ rescue
5163
+ begin
5164
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5165
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
5166
+ if error_text
5167
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5168
+ @driver.quit if @driver
5169
+ return 0
5170
+ end
5171
+ rescue
5172
+ end
5087
5173
  end
5088
- rescue Selenium::WebDriver::Error::NoSuchElementError
5089
- # 해당 텍스트가 없으면 아무 작업 안함
5090
5174
  end
5091
5175
 
5092
5176
 
@@ -5278,22 +5362,29 @@ post_url = option['post_url'].to_s
5278
5362
  if error_text
5279
5363
  puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5280
5364
  @driver.quit if @driver
5281
- @driver.close
5282
- #return 0
5365
+ return 0
5283
5366
  end
5284
5367
  rescue
5285
- end
5286
-
5287
- begin
5288
- # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5289
- error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
5290
- if error_text
5291
- puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5292
- @driver.quit if @driver
5293
- @driver.close
5294
- #return 0
5368
+ begin
5369
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5370
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
5371
+ if error_text
5372
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5373
+ @driver.quit if @driver
5374
+ return 0
5375
+ end
5376
+ rescue
5377
+ begin
5378
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5379
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
5380
+ if error_text
5381
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5382
+ @driver.quit if @driver
5383
+ return 0
5384
+ end
5385
+ rescue
5386
+ end
5295
5387
  end
5296
- rescue
5297
5388
  end
5298
5389
 
5299
5390
  begin
@@ -5407,8 +5498,10 @@ post_url = option['post_url'].to_s
5407
5498
  end
5408
5499
  end
5409
5500
  #return 0
5501
+ sleep(1)
5410
5502
  @driver.quit
5411
- @driver.close
5503
+ return 0
5504
+ sleep(1)
5412
5505
  rescue
5413
5506
  begin
5414
5507
  # 타임아웃을 77초로 설정
@@ -5424,7 +5517,7 @@ post_url = option['post_url'].to_s
5424
5517
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
5425
5518
  puts e
5426
5519
  @driver.close
5427
- #return 0
5520
+ return 0
5428
5521
  end
5429
5522
  end
5430
5523
  rescue
@@ -5454,8 +5547,10 @@ post_url = option['post_url'].to_s
5454
5547
  end
5455
5548
  end
5456
5549
  #return 0
5550
+ sleep(1)
5457
5551
  @driver.quit
5458
- @driver.close
5552
+ return 0
5553
+ sleep(1)
5459
5554
  rescue
5460
5555
  begin
5461
5556
  # 타임아웃을 77초로 설정
@@ -5472,7 +5567,7 @@ post_url = option['post_url'].to_s
5472
5567
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
5473
5568
  puts e
5474
5569
  @driver.close
5475
- #return 0
5570
+ return 0
5476
5571
  end
5477
5572
  end
5478
5573
  rescue
@@ -5521,8 +5616,9 @@ post_url = option['post_url'].to_s
5521
5616
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
5522
5617
  puts e
5523
5618
  @driver.quit
5524
- @driver.close
5525
- #return 0
5619
+ sleep(1)
5620
+ return 0
5621
+ sleep(1)
5526
5622
  end
5527
5623
  end
5528
5624
 
@@ -5533,16 +5629,34 @@ post_url = option['post_url'].to_s
5533
5629
  end
5534
5630
 
5535
5631
  begin
5536
- # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5537
- error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
5538
- if error_text
5539
- puts '사이트에 연결할 없음 텍스트가 발견되었습니다. 창을 닫습니다.'
5632
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5633
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"사이트에 연결할 수 없음")]')
5634
+ if error_text
5635
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5636
+ @driver.quit if @driver
5637
+ return 0
5638
+ end
5639
+ rescue
5640
+ begin
5641
+ # 이 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5642
+ error_text = @driver.find_element(:xpath, '//*[contains(text(),"Connection timed out")]')
5643
+ if error_text
5644
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5540
5645
  @driver.quit if @driver
5541
- @driver.close
5542
- #return 0
5543
- end
5544
- rescue Selenium::WebDriver::Error::NoSuchElementError
5545
- # 해당 텍스트가 없으면 아무 작업 안함
5646
+ return 0
5647
+ end
5648
+ rescue
5649
+ begin
5650
+ # 부분을 통해 페이지 내에서 "사이트에 연결할 수 없음" 텍스트를 찾습니다.
5651
+ error_text = @driver.find_element(:xpath, '//h1[contains(text(),"Not Found")]')
5652
+ if error_text
5653
+ puts '사이트 문제 발견!! 사이트에 접근할수 없습니다 창을 닫습니다.'
5654
+ @driver.quit if @driver
5655
+ return 0
5656
+ end
5657
+ rescue
5658
+ end
5659
+ end
5546
5660
  end
5547
5661
 
5548
5662
 
@@ -7516,7 +7630,9 @@ end
7516
7630
  end
7517
7631
  #return 0
7518
7632
  @driver.quit
7519
- @driver.close
7633
+ sleep(1)
7634
+ return 0
7635
+ sleep(1)
7520
7636
  end
7521
7637
  end
7522
7638
  end
@@ -9329,7 +9445,9 @@ if check_captcha == 1
9329
9445
  end
9330
9446
  #return 0
9331
9447
  @driver.quit
9332
- @driver.close
9448
+ sleep(1)
9449
+ return 0
9450
+ sleep(1)
9333
9451
  rescue
9334
9452
  # 타임아웃을 77초로 설정
9335
9453
  wait = Selenium::WebDriver::Wait.new(:timeout => 150)
@@ -9343,7 +9461,7 @@ if check_captcha == 1
9343
9461
  @driver.find_element(:xpath, '//*[@name="user_captcha"]').click
9344
9462
  sleep(1)
9345
9463
  @driver.action.key_down(:right).key_up(:right).perform
9346
- rescuem
9464
+ rescue
9347
9465
  begin
9348
9466
  @driver.find_element(:xpath, '//*[@id="user_captcha"]').click
9349
9467
  sleep(1)
@@ -10846,65 +10964,67 @@ puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.gr
10846
10964
 
10847
10965
  sleep(10)
10848
10966
  begin
10849
- @driver.find_element(:xpath, '//*[@data-state="error"]').click
10850
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
10851
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
10852
- @driver.window_handles.each do |handle|
10853
- @driver.switch_to.window(handle)
10854
- begin
10855
- # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
10856
- @driver.close
10857
- rescue Selenium::WebDriver::Error::WebDriverError => e
10858
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
10859
- end
10860
- end
10861
- #return 0
10862
- @driver.quit
10863
- @driver.close
10967
+ @driver.find_element(:xpath, '//*[@data-state="error"]').click
10968
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
10969
+ puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
10970
+ @driver.window_handles.each do |handle|
10971
+ @driver.switch_to.window(handle)
10972
+ begin
10973
+ # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
10974
+ @driver.close
10975
+ rescue Selenium::WebDriver::Error::WebDriverError => e
10976
+ puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
10977
+ end
10978
+ end
10979
+ #return 0
10980
+ @driver.quit
10981
+ sleep(1)
10982
+ return 0
10983
+ sleep(1)
10864
10984
  rescue
10865
- # 타임아웃을 77초로 설정
10866
- wait = Selenium::WebDriver::Wait.new(:timeout => 150)
10867
- # 요소가 나타날 때까지 100초 동안 기다립니다.
10868
- wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
10869
- sleep(1)
10870
- @driver.find_element(:xpath, '//*[@data-state="solved"]').click
10871
- puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
10872
- puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>.......'.green
10873
- sleep(5)
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
10985
+ # 타임아웃을 77초로 설정
10986
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
10987
+ # 요소가 나타날 때까지 100초 동안 기다립니다.
10988
+ wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
10989
+ sleep(1)
10990
+ @driver.find_element(:xpath, '//*[@data-state="solved"]').click
10991
+ puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
10992
+ puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>.......'.green
10993
+ sleep(5)
10879
10994
  begin
10880
- @driver.find_element(:xpath, '//*[@id="user_captcha"]').click
10995
+ @driver.find_element(:xpath, '//*[@name="user_captcha"]').click
10881
10996
  sleep(1)
10882
- @driver.action.key_down(:right).key_up(:right).perform
10997
+ @driver.action.key_down(:right).key_up(:right).perform
10883
10998
  rescue
10884
10999
  begin
10885
- @driver.find_element(:xpath, '//*[@title="자동글쓰기방지"]').click
11000
+ @driver.find_element(:xpath, '//*[@id="user_captcha"]').click
10886
11001
  sleep(1)
10887
- @driver.action.key_down(:right).key_up(:right).perform
11002
+ @driver.action.key_down(:right).key_up(:right).perform
10888
11003
  rescue
10889
11004
  begin
10890
- #2차 확인 버튼 있을시
10891
- puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>>>.......'.green
10892
- button = @driver.find_element(:xpath, '//input[@type="button" and @id="captch_button" and @value="확인"]')
10893
- @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", button)
10894
- sleep(2)
10895
- @driver.execute_script("arguments[0].click();", button)
10896
-
11005
+ @driver.find_element(:xpath, '//*[@title="자동글쓰기방지"]').click
11006
+ sleep(1)
11007
+ @driver.action.key_down(:right).key_up(:right).perform
11008
+ rescue
10897
11009
  begin
10898
- wait = Selenium::WebDriver::Wait.new(timeout: 3)
10899
- wait.until { @driver.switch_to.alert }
10900
- @driver.switch_to.alert.accept
10901
- rescue
11010
+ #2차 확인 버튼 있을시
11011
+ puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>>>.......'.green
11012
+ button = @driver.find_element(:xpath, '//input[@type="button" and @id="captch_button" and @value="확인"]')
11013
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", button)
11014
+ sleep(2)
11015
+ @driver.execute_script("arguments[0].click();", button)
11016
+
11017
+ begin
11018
+ wait = Selenium::WebDriver::Wait.new(timeout: 3)
11019
+ wait.until { @driver.switch_to.alert }
11020
+ @driver.switch_to.alert.accept
11021
+ rescue
11022
+ end
11023
+ rescue
10902
11024
  end
10903
- rescue
10904
11025
  end
10905
11026
  end
10906
11027
  end
10907
- end
10908
11028
  sleep(1)
10909
11029
  end
10910
11030
  rescue
@@ -11679,7 +11799,9 @@ rescue => e
11679
11799
  end
11680
11800
  #return 0
11681
11801
  @driver.quit
11682
- @driver.close
11802
+ sleep(1)
11803
+ return 0
11804
+ sleep(1)
11683
11805
  end
11684
11806
 
11685
11807
 
@@ -11698,6 +11820,10 @@ end
11698
11820
  # 2. 내용에 감자 단어 사용이 제한되어 있습니다 형식
11699
11821
  elsif alert_text =~ /내용에\s+(.+?)\s+단어 사용이 제한/
11700
11822
  banned_word = $1
11823
+
11824
+ # 3. "금지단어"는..형식
11825
+ elsif alert_text =~ /"(.+?)"\s*는/
11826
+ banned_word = $1
11701
11827
  end
11702
11828
 
11703
11829
  if banned_word
@@ -11735,26 +11861,33 @@ end #반복루프
11735
11861
 
11736
11862
 
11737
11863
  begin
11864
+ # log 디렉토리가 없다면 생성
11865
+ Dir.mkdir('./log') unless Dir.exist?('./log')
11866
+
11738
11867
  posting_url = @driver.current_url
11739
- File.open('./log/posting_log.txt', 'a') do |ff|
11740
- ff.write('[')
11741
- ff.write(DateTime.now.strftime("%Y년%m월%d일%H시%M분"))
11742
- ff.write(']')
11743
- ff.write(user_id)
11744
- ff.write(',')
11745
- ff.write(user_pw)
11746
- ff.write(',')
11747
- ff.write(posting_url)
11748
-
11749
- if alert_text # alert가 있었다면 텍스트도 기록
11868
+
11869
+ # 오늘 날짜로 파일명 생성
11870
+ today_str = Date.today.strftime("%Y-%m-%d")
11871
+ file_path = "./log/#{today_str}-posting_log.txt"
11872
+
11873
+ File.open(file_path, 'a') do |ff|
11874
+ ff.write('[')
11875
+ ff.write(DateTime.now.strftime("%Y년%m월%d일 %H시%M분"))
11876
+ ff.write(']')
11877
+ ff.write(user_id)
11878
+ ff.write(',')
11879
+ ff.write(user_pw)
11880
+ ff.write(',')
11881
+ ff.write(posting_url)
11882
+
11883
+ if alert_text
11750
11884
  ff.write(' ▶')
11751
11885
  ff.write("팝업내용: #{alert_text}")
11752
- end
11886
+ end
11753
11887
 
11754
- ff.write("\n")
11755
- ff.close()
11756
- puts '-[√] 로그 파일 생성 완료.......'.yellow
11757
- end
11888
+ ff.write("\n")
11889
+ puts '-[√] 로그 파일 기록 완료.......'.yellow
11890
+ end
11758
11891
  rescue
11759
11892
  end
11760
11893
 
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.93.999
4
+ version: 3.96.999
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-05-27 00:00:00.000000000 Z
10
+ date: 2025-05-28 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: posting app
13
13
  email: mymin26@naver.com