board_posting_duo 0.0.7 → 0.0.8
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 +384 -156
- metadata +2 -2
data/lib/board_posting_duo.rb
CHANGED
@@ -30,7 +30,7 @@ require 'watir'
|
|
30
30
|
|
31
31
|
|
32
32
|
class Naver
|
33
|
-
|
33
|
+
|
34
34
|
def chrome_start(proxy)
|
35
35
|
if proxy == ''
|
36
36
|
begin
|
@@ -147,7 +147,7 @@ class Naver
|
|
147
147
|
begin
|
148
148
|
@driver.switch_to.window(@driver.window_handles[1])
|
149
149
|
|
150
|
-
@driver.close
|
150
|
+
@driver.close
|
151
151
|
rescue
|
152
152
|
@driver.switch_to.window(@driver.window_handles[0])
|
153
153
|
end
|
@@ -190,7 +190,7 @@ class Naver
|
|
190
190
|
begin
|
191
191
|
@driver.find_element(:name, 'apiKey').click
|
192
192
|
rescue
|
193
|
-
@driver.close
|
193
|
+
@driver.close
|
194
194
|
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
195
195
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
196
196
|
end
|
@@ -273,21 +273,26 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
273
273
|
rescue
|
274
274
|
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
275
275
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
276
|
-
@driver.close
|
276
|
+
@driver.close
|
277
277
|
end
|
278
278
|
end
|
279
279
|
|
280
280
|
|
281
281
|
|
282
|
-
|
282
|
+
sleep(1)
|
283
283
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
284
284
|
begin
|
285
285
|
puts '-[√] 1 캡챠 발생 유무 확인.......'.green
|
286
|
-
sleep(
|
286
|
+
sleep(1)
|
287
287
|
puts '-[√] 2 캡챠 발생 유무 확인.......'.green
|
288
|
-
sleep(
|
288
|
+
sleep(1)
|
289
289
|
puts '-[√] 3 캡챠 발생 유무 확인.......'.green
|
290
|
-
sleep(
|
290
|
+
sleep(1)
|
291
|
+
# 타임아웃을 3초로 설정
|
292
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
293
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
294
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
295
|
+
sleep(1)
|
291
296
|
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
292
297
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
293
298
|
sleep(10)
|
@@ -334,10 +339,14 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
334
339
|
rescue
|
335
340
|
puts '-[√] 회원가입 1차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
336
341
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
337
|
-
@driver.close
|
342
|
+
@driver.close
|
338
343
|
end
|
339
344
|
end
|
340
|
-
|
345
|
+
begin
|
346
|
+
sleep(1)
|
347
|
+
@driver.switch_to.alert.accept
|
348
|
+
rescue
|
349
|
+
end
|
341
350
|
|
342
351
|
|
343
352
|
##체크박스1-1 코드 확인 및 제거 부분─────────────────────────────────────────────────────────────────────>
|
@@ -526,7 +535,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
526
535
|
rescue
|
527
536
|
puts '-[√] 회원가입 2차 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
528
537
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
529
|
-
@driver.close
|
538
|
+
@driver.close
|
530
539
|
end
|
531
540
|
end
|
532
541
|
|
@@ -544,119 +553,119 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
|
|
544
553
|
sleep(1)
|
545
554
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
546
555
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
547
|
-
@driver.close
|
556
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
548
557
|
rescue
|
549
558
|
begin
|
550
559
|
@driver.find_element(:partial_link_text, '휴대폰 인증') #요소같고 텍스트가 다를때 텍스트로 타겟
|
551
560
|
sleep(1)
|
552
561
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
553
562
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
554
|
-
@driver.close
|
563
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
555
564
|
rescue
|
556
565
|
begin
|
557
566
|
@driver.find_element(:xpath, '//*[@id="reg_check_auth_code"]')
|
558
567
|
sleep(1)
|
559
568
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
560
569
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
561
|
-
@driver.close
|
570
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
562
571
|
rescue
|
563
572
|
begin
|
564
573
|
@driver.find_element(:xpath, '//*[@placeholder="인증번호 입력"]')
|
565
574
|
sleep(1)
|
566
575
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
567
576
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
568
|
-
@driver.close
|
577
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
569
578
|
rescue
|
570
579
|
begin
|
571
580
|
@driver.find_element(:xpath, '//*[@id="phoneCheck"]')
|
572
581
|
sleep(1)
|
573
582
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
574
583
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
575
|
-
@driver.close
|
584
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
576
585
|
rescue
|
577
586
|
begin
|
578
587
|
@driver.find_element(:partial_link_text, '인증메일 발송') #요소같고 텍스트가 다를때 텍스트로 타겟
|
579
588
|
sleep(1)
|
580
589
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
581
590
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
582
|
-
@driver.close
|
591
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
583
592
|
rescue
|
584
593
|
begin
|
585
594
|
@driver.find_element(:xpath, '//*[@placeholder="인증번호를 입력하세요"]')
|
586
595
|
sleep(1)
|
587
596
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
588
597
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
589
|
-
@driver.close
|
598
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
590
599
|
rescue
|
591
600
|
begin
|
592
601
|
@driver.find_element(:partial_link_text, 'E-mail [메일인증 필수]')
|
593
602
|
sleep(1)
|
594
603
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
595
604
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
596
|
-
@driver.close
|
605
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
597
606
|
rescue
|
598
607
|
begin
|
599
608
|
@driver.find_element(:partial_link_text, '인증번호받기') #요소같고 텍스트가 다를때 텍스트로 타겟
|
600
609
|
sleep(1)
|
601
610
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
602
611
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
603
|
-
@driver.close
|
612
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
604
613
|
rescue
|
605
614
|
begin
|
606
615
|
@driver.find_element(:partial_link_text, '인증하기') #요소같고 텍스트가 다를때 텍스트로 타겟
|
607
616
|
sleep(1)
|
608
617
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
609
618
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
610
|
-
@driver.close
|
619
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
611
620
|
rescue
|
612
621
|
begin
|
613
622
|
@driver.find_element(:partial_link_text, '인증번호 발송') #요소같고 텍스트가 다를때 텍스트로 타겟
|
614
623
|
sleep(1)
|
615
624
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
616
625
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
617
|
-
@driver.close
|
626
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
618
627
|
rescue
|
619
628
|
begin
|
620
629
|
@driver.find_element(:xpath, '//*[@id="recaptchaBindedElement0"]')
|
621
630
|
sleep(1)
|
622
631
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
623
632
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
624
|
-
@driver.close
|
633
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
625
634
|
rescue
|
626
635
|
begin
|
627
636
|
@driver.find_element(:partial_link_text, '인증번호 전송') #요소같고 텍스트가 다를때 텍스트로 타겟
|
628
637
|
sleep(1)
|
629
638
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
630
639
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
631
|
-
@driver.close
|
640
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
632
641
|
rescue
|
633
642
|
begin
|
634
643
|
@driver.find_element(:xpath, '//*[@onclick="sendSMSCode()"]')
|
635
644
|
sleep(1)
|
636
645
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
637
646
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
638
|
-
@driver.close
|
647
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
639
648
|
rescue
|
640
649
|
begin
|
641
650
|
@driver.find_element(:xpath, '//*[@id="reg_au_code"]')
|
642
651
|
sleep(1)
|
643
652
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
644
653
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
645
|
-
@driver.close
|
654
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
646
655
|
rescue
|
647
656
|
begin
|
648
657
|
@driver.find_element(:partial_link_text, '인증번호 받기') #요소같고 텍스트가 다를때 텍스트로 타겟
|
649
658
|
sleep(1)
|
650
659
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
651
660
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
652
|
-
@driver.close
|
661
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
653
662
|
rescue
|
654
663
|
begin
|
655
664
|
@driver.find_element(:xpath, '//*[@id="get_authcode"]')
|
656
665
|
sleep(1)
|
657
666
|
puts '-[√] 이메일/전화번호 인증 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
658
667
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
659
|
-
@driver.close
|
668
|
+
@driver.close #크롬창 닫기 또는 전체 닫기
|
660
669
|
rescue
|
661
670
|
|
662
671
|
end
|
@@ -1678,10 +1687,14 @@ end
|
|
1678
1687
|
rescue
|
1679
1688
|
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
1680
1689
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
1681
|
-
@driver.close
|
1690
|
+
@driver.close
|
1682
1691
|
end
|
1683
1692
|
|
1684
|
-
|
1693
|
+
begin
|
1694
|
+
sleep(1)
|
1695
|
+
@driver.switch_to.alert.accept
|
1696
|
+
rescue
|
1697
|
+
end
|
1685
1698
|
|
1686
1699
|
|
1687
1700
|
end
|
@@ -1721,7 +1734,7 @@ login_url = option['login_url'].to_s
|
|
1721
1734
|
rescue
|
1722
1735
|
puts '-[√] 로그엔 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
1723
1736
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
1724
|
-
@driver.close
|
1737
|
+
@driver.close
|
1725
1738
|
end
|
1726
1739
|
end
|
1727
1740
|
|
@@ -1731,11 +1744,16 @@ login_url = option['login_url'].to_s
|
|
1731
1744
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
1732
1745
|
begin
|
1733
1746
|
puts '-[√] 1 캡챠 발생 유무 확인.......'.green
|
1734
|
-
sleep(
|
1747
|
+
sleep(1)
|
1735
1748
|
puts '-[√] 2 캡챠 발생 유무 확인.......'.green
|
1736
|
-
sleep(
|
1749
|
+
sleep(1)
|
1737
1750
|
puts '-[√] 3 캡챠 발생 유무 확인.......'.green
|
1738
|
-
sleep(
|
1751
|
+
sleep(1)
|
1752
|
+
# 타임아웃을 3초로 설정
|
1753
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
1754
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
1755
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
1756
|
+
sleep(1)
|
1739
1757
|
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
1740
1758
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
1741
1759
|
sleep(10)
|
@@ -1776,7 +1794,7 @@ login_url = option['login_url'].to_s
|
|
1776
1794
|
rescue
|
1777
1795
|
puts '-[√] 로그엔 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
1778
1796
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
1779
|
-
@driver.close
|
1797
|
+
@driver.close
|
1780
1798
|
end
|
1781
1799
|
end
|
1782
1800
|
|
@@ -1843,7 +1861,17 @@ login_url = option['login_url'].to_s
|
|
1843
1861
|
begin
|
1844
1862
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
1845
1863
|
rescue
|
1846
|
-
|
1864
|
+
begin
|
1865
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[1]/div/div[1]').click
|
1866
|
+
rescue
|
1867
|
+
begin
|
1868
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_1"]/div[2]/button[1]').click
|
1869
|
+
rescue
|
1870
|
+
puts '.......'.yellow
|
1871
|
+
|
1872
|
+
end
|
1873
|
+
|
1874
|
+
end
|
1847
1875
|
|
1848
1876
|
end
|
1849
1877
|
|
@@ -1926,7 +1954,17 @@ login_url = option['login_url'].to_s
|
|
1926
1954
|
begin
|
1927
1955
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
1928
1956
|
rescue
|
1929
|
-
|
1957
|
+
begin
|
1958
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[2]/div/div[1]').click
|
1959
|
+
rescue
|
1960
|
+
begin
|
1961
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_2"]/div[2]/button[1]').click
|
1962
|
+
rescue
|
1963
|
+
puts '.......'.yellow
|
1964
|
+
|
1965
|
+
end
|
1966
|
+
|
1967
|
+
end
|
1930
1968
|
|
1931
1969
|
end
|
1932
1970
|
|
@@ -2009,7 +2047,17 @@ login_url = option['login_url'].to_s
|
|
2009
2047
|
begin
|
2010
2048
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
2011
2049
|
rescue
|
2012
|
-
|
2050
|
+
begin
|
2051
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[3]/div/div[1]').click
|
2052
|
+
rescue
|
2053
|
+
begin
|
2054
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_3"]/div[2]/button[1]').click
|
2055
|
+
rescue
|
2056
|
+
puts '.......'.yellow
|
2057
|
+
|
2058
|
+
end
|
2059
|
+
|
2060
|
+
end
|
2013
2061
|
|
2014
2062
|
end
|
2015
2063
|
|
@@ -2092,7 +2140,17 @@ login_url = option['login_url'].to_s
|
|
2092
2140
|
begin
|
2093
2141
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
2094
2142
|
rescue
|
2095
|
-
|
2143
|
+
begin
|
2144
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[4]/div/div[1]').click
|
2145
|
+
rescue
|
2146
|
+
begin
|
2147
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_4"]/div[2]/button[1]').click
|
2148
|
+
rescue
|
2149
|
+
puts '.......'.yellow
|
2150
|
+
|
2151
|
+
end
|
2152
|
+
|
2153
|
+
end
|
2096
2154
|
|
2097
2155
|
end
|
2098
2156
|
|
@@ -2175,7 +2233,17 @@ login_url = option['login_url'].to_s
|
|
2175
2233
|
begin
|
2176
2234
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
2177
2235
|
rescue
|
2178
|
-
|
2236
|
+
begin
|
2237
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[5]/div/div[1]').click
|
2238
|
+
rescue
|
2239
|
+
begin
|
2240
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_5"]/div[2]/button[1]').click
|
2241
|
+
rescue
|
2242
|
+
puts '.......'.yellow
|
2243
|
+
|
2244
|
+
end
|
2245
|
+
|
2246
|
+
end
|
2179
2247
|
|
2180
2248
|
end
|
2181
2249
|
end
|
@@ -2289,9 +2357,14 @@ login_url = option['login_url'].to_s
|
|
2289
2357
|
@driver.find_element(:xpath, '//*[@id="loginUid"]').send_keys(user_id)
|
2290
2358
|
sleep(3)
|
2291
2359
|
rescue
|
2292
|
-
|
2293
|
-
|
2294
|
-
|
2360
|
+
begin
|
2361
|
+
@driver.find_element(:xpath, '//*[@name="id"]').send_keys(user_id)
|
2362
|
+
sleep(3)
|
2363
|
+
rescue
|
2364
|
+
#puts '-[√] 로그인 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2365
|
+
#puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2366
|
+
#@driver.close
|
2367
|
+
end
|
2295
2368
|
end
|
2296
2369
|
end
|
2297
2370
|
end
|
@@ -2407,63 +2480,66 @@ login_url = option['login_url'].to_s
|
|
2407
2480
|
##로그인 버튼 코드 부분─────────────────────────────────────────────────────────────────────>
|
2408
2481
|
begin
|
2409
2482
|
@driver.find_element(:xpath, '//*[@class="btn btn-primary btn-block btn-lg en"]').click
|
2483
|
+
puts '-[√] 로그인 버튼 코드 1 타겟.......'.cyan
|
2410
2484
|
sleep(3)
|
2411
2485
|
rescue
|
2412
2486
|
begin
|
2413
2487
|
@driver.find_element(:xpath, '//*[@id="login_fs"]/button').click
|
2488
|
+
puts '-[√] 로그인 버튼 코드 2 타겟.......'.cyan
|
2414
2489
|
sleep(3)
|
2415
2490
|
rescue
|
2416
2491
|
begin
|
2417
|
-
@driver.find_element(:xpath, '//*[@id="basic_outlogin"]/div[3]/button')
|
2492
|
+
@driver.find_element(:xpath, '//*[@id="basic_outlogin"]/div[3]/button').click
|
2493
|
+
puts '-[√] 로그인 버튼 코드 3 타겟.......'.cyan
|
2418
2494
|
sleep(3)
|
2419
2495
|
rescue
|
2420
2496
|
begin
|
2421
2497
|
@driver.find_element(:xpath, '//*[@value="로그인"]').click
|
2498
|
+
puts '-[√] 로그인 버튼 코드 4 타겟.......'.cyan
|
2422
2499
|
sleep(3)
|
2423
2500
|
rescue
|
2424
2501
|
begin
|
2425
2502
|
@driver.find_element(:xpath, '//*[@class="btn_login"]').click
|
2503
|
+
puts '-[√] 로그인 버튼 코드 5 타겟.......'.cyan
|
2426
2504
|
sleep(3)
|
2427
2505
|
rescue
|
2428
2506
|
begin
|
2429
2507
|
@driver.find_element(:xpath, '//*[@alt="로그인"]').click
|
2508
|
+
puts '-[√] 로그인 버튼 코드 6 타겟.......'.cyan
|
2430
2509
|
sleep(3)
|
2431
2510
|
rescue
|
2432
2511
|
begin
|
2433
2512
|
@driver.find_element(:xpath, '//*[@id="mb_login"]/form/div[5]/button').click
|
2513
|
+
puts '-[√] 로그인 버튼 코드 7 타겟.......'.cyan
|
2434
2514
|
sleep(3)
|
2435
2515
|
rescue
|
2436
2516
|
begin
|
2437
2517
|
@driver.find_element(:xpath, '//*[@id="ol_submit"]').click
|
2518
|
+
puts '-[√] 로그인 버튼 코드 8 타겟.......'.cyan
|
2438
2519
|
sleep(3)
|
2439
2520
|
rescue
|
2440
2521
|
begin
|
2441
2522
|
@driver.find_element(:xpath, '//*[@alt="login"]').click
|
2523
|
+
puts '-[√] 로그인 버튼 코드 9 타겟.......'.cyan
|
2442
2524
|
sleep(3)
|
2443
2525
|
rescue
|
2444
2526
|
begin
|
2445
2527
|
@driver.find_element(:xpath, '//*[@title="login"]').click
|
2528
|
+
puts '-[√] 로그인 버튼 코드 10 타겟.......'.cyan
|
2446
2529
|
sleep(3)
|
2447
2530
|
rescue
|
2448
2531
|
begin
|
2449
2532
|
@driver.find_element(:xpath, '//*[@id="signIn_1"]').click
|
2533
|
+
puts '-[√] 로그인 버튼 코드 11 타겟.......'.cyan
|
2450
2534
|
sleep(3)
|
2451
2535
|
rescue
|
2452
2536
|
begin
|
2453
2537
|
@driver.find_element(:xpath, '//*[@id="btn_login"]').click
|
2538
|
+
puts '-[√] 로그인 버튼 코드 12 타겟.......'.cyan
|
2454
2539
|
sleep(3)
|
2455
2540
|
rescue
|
2456
|
-
|
2457
|
-
|
2458
|
-
sleep(3)
|
2459
|
-
rescue
|
2460
|
-
begin
|
2461
|
-
@driver.find_element(:xpath, '//*[@form="loginForm"]').click
|
2462
|
-
sleep(3)
|
2463
|
-
rescue
|
2464
|
-
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
2465
|
-
end
|
2466
|
-
end
|
2541
|
+
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
2542
|
+
sleep(3)
|
2467
2543
|
end
|
2468
2544
|
end
|
2469
2545
|
end
|
@@ -2477,9 +2553,17 @@ login_url = option['login_url'].to_s
|
|
2477
2553
|
end
|
2478
2554
|
end
|
2479
2555
|
##로그인 버튼 코드 부분─────────────────────────────────────────────────────────────────────<
|
2480
|
-
|
2556
|
+
begin
|
2557
|
+
sleep(1)
|
2558
|
+
@driver.switch_to.alert.accept
|
2559
|
+
rescue
|
2560
|
+
end
|
2481
2561
|
|
2482
2562
|
end
|
2563
|
+
|
2564
|
+
|
2565
|
+
|
2566
|
+
|
2483
2567
|
rescue => e
|
2484
2568
|
puts '-[√] 로그인 PASS.......'.cyan
|
2485
2569
|
puts e
|
@@ -2502,7 +2586,11 @@ begin
|
|
2502
2586
|
@driver.get(cc_check_url)
|
2503
2587
|
puts '-[√] 출석체크 페이지 URL 이동.......'.magenta
|
2504
2588
|
|
2505
|
-
|
2589
|
+
begin
|
2590
|
+
sleep(1)
|
2591
|
+
@driver.switch_to.alert.accept
|
2592
|
+
rescue
|
2593
|
+
end
|
2506
2594
|
|
2507
2595
|
begin
|
2508
2596
|
# 요소 찾기 타임아웃을 10초로 설정
|
@@ -2521,19 +2609,25 @@ begin
|
|
2521
2609
|
rescue
|
2522
2610
|
puts '-[√] 출석 체크 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2523
2611
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2524
|
-
@driver.close
|
2612
|
+
@driver.close
|
2525
2613
|
end
|
2526
2614
|
end
|
2527
2615
|
|
2528
2616
|
|
2617
|
+
sleep(1)
|
2529
2618
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
2530
2619
|
begin
|
2531
2620
|
puts '-[√] 1 캡챠 발생 유무 확인.......'.green
|
2532
|
-
sleep(
|
2621
|
+
sleep(1)
|
2533
2622
|
puts '-[√] 2 캡챠 발생 유무 확인.......'.green
|
2534
|
-
sleep(
|
2623
|
+
sleep(1)
|
2535
2624
|
puts '-[√] 3 캡챠 발생 유무 확인.......'.green
|
2536
|
-
sleep(
|
2625
|
+
sleep(1)
|
2626
|
+
# 타임아웃을 3초로 설정
|
2627
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
2628
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
2629
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
2630
|
+
sleep(1)
|
2537
2631
|
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
2538
2632
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
2539
2633
|
sleep(10)
|
@@ -2574,7 +2668,7 @@ begin
|
|
2574
2668
|
rescue
|
2575
2669
|
puts '-[√] 출석 체크 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2576
2670
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2577
|
-
@driver.close
|
2671
|
+
@driver.close
|
2578
2672
|
end
|
2579
2673
|
end
|
2580
2674
|
|
@@ -2667,7 +2761,7 @@ begin
|
|
2667
2761
|
rescue
|
2668
2762
|
sleep(1)
|
2669
2763
|
@driver.action.key_down(:enter).key_up(:enter).perform
|
2670
|
-
sleep(
|
2764
|
+
sleep(5)
|
2671
2765
|
end
|
2672
2766
|
end
|
2673
2767
|
end
|
@@ -2682,6 +2776,11 @@ begin
|
|
2682
2776
|
end
|
2683
2777
|
|
2684
2778
|
##<─────────────────────────────────────────────────────────────────────출석 체크 입력 코드 부분
|
2779
|
+
begin
|
2780
|
+
sleep(1)
|
2781
|
+
@driver.switch_to.alert.accept
|
2782
|
+
rescue
|
2783
|
+
end
|
2685
2784
|
|
2686
2785
|
|
2687
2786
|
end
|
@@ -2710,6 +2809,12 @@ post_url = option['post_url'].to_s
|
|
2710
2809
|
@driver.get(post_url)
|
2711
2810
|
sleep(1)
|
2712
2811
|
|
2812
|
+
begin
|
2813
|
+
sleep(1)
|
2814
|
+
@driver.switch_to.alert.accept
|
2815
|
+
rescue
|
2816
|
+
end
|
2817
|
+
|
2713
2818
|
begin
|
2714
2819
|
# 요소 찾기 타임아웃을 10초로 설정
|
2715
2820
|
wait = Selenium::WebDriver::Wait.new(:timeout => 20)
|
@@ -2727,18 +2832,24 @@ post_url = option['post_url'].to_s
|
|
2727
2832
|
rescue
|
2728
2833
|
puts '-[√] 글쓰기 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2729
2834
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2730
|
-
@driver.close
|
2835
|
+
@driver.close
|
2731
2836
|
end
|
2732
2837
|
end
|
2733
|
-
|
2838
|
+
|
2839
|
+
sleep(1)
|
2734
2840
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
2735
2841
|
begin
|
2736
2842
|
puts '-[√] 1 캡챠 발생 유무 확인.......'.green
|
2737
|
-
sleep(
|
2843
|
+
sleep(1)
|
2738
2844
|
puts '-[√] 2 캡챠 발생 유무 확인.......'.green
|
2739
|
-
sleep(
|
2845
|
+
sleep(1)
|
2740
2846
|
puts '-[√] 3 캡챠 발생 유무 확인.......'.green
|
2741
|
-
sleep(
|
2847
|
+
sleep(1)
|
2848
|
+
# 타임아웃을 3초로 설정
|
2849
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
2850
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
2851
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
2852
|
+
sleep(1)
|
2742
2853
|
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
2743
2854
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
2744
2855
|
sleep(10)
|
@@ -2761,7 +2872,7 @@ post_url = option['post_url'].to_s
|
|
2761
2872
|
puts '-[√] 캡챠 발생 없음.......'.green
|
2762
2873
|
end
|
2763
2874
|
##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
|
2764
|
-
|
2875
|
+
|
2765
2876
|
|
2766
2877
|
begin
|
2767
2878
|
# 요소 찾기 타임아웃을 10초로 설정
|
@@ -2784,7 +2895,7 @@ post_url = option['post_url'].to_s
|
|
2784
2895
|
rescue
|
2785
2896
|
puts '-[√] 글쓰기 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
2786
2897
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
2787
|
-
@driver.close
|
2898
|
+
@driver.close
|
2788
2899
|
end
|
2789
2900
|
end
|
2790
2901
|
|
@@ -2854,7 +2965,17 @@ post_url = option['post_url'].to_s
|
|
2854
2965
|
begin
|
2855
2966
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
2856
2967
|
rescue
|
2857
|
-
|
2968
|
+
begin
|
2969
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[1]/div/div[1]').click
|
2970
|
+
rescue
|
2971
|
+
|
2972
|
+
begin
|
2973
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_1"]/div[2]/button[1]').click
|
2974
|
+
rescue
|
2975
|
+
puts '.......'.yellow
|
2976
|
+
|
2977
|
+
end
|
2978
|
+
end
|
2858
2979
|
|
2859
2980
|
end
|
2860
2981
|
|
@@ -2937,7 +3058,17 @@ post_url = option['post_url'].to_s
|
|
2937
3058
|
begin
|
2938
3059
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
2939
3060
|
rescue
|
2940
|
-
|
3061
|
+
begin
|
3062
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[2]/div/div[1]').click
|
3063
|
+
rescue
|
3064
|
+
begin
|
3065
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_2"]/div[2]/button[1]').click
|
3066
|
+
rescue
|
3067
|
+
puts '.......'.yellow
|
3068
|
+
|
3069
|
+
end
|
3070
|
+
|
3071
|
+
end
|
2941
3072
|
|
2942
3073
|
end
|
2943
3074
|
|
@@ -3020,7 +3151,17 @@ post_url = option['post_url'].to_s
|
|
3020
3151
|
begin
|
3021
3152
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
3022
3153
|
rescue
|
3023
|
-
|
3154
|
+
begin
|
3155
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[3]/div/div[1]').click
|
3156
|
+
rescue
|
3157
|
+
begin
|
3158
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_3"]/div[2]/button[1]').click
|
3159
|
+
rescue
|
3160
|
+
puts '.......'.yellow
|
3161
|
+
|
3162
|
+
end
|
3163
|
+
|
3164
|
+
end
|
3024
3165
|
|
3025
3166
|
end
|
3026
3167
|
|
@@ -3103,7 +3244,17 @@ post_url = option['post_url'].to_s
|
|
3103
3244
|
begin
|
3104
3245
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
3105
3246
|
rescue
|
3106
|
-
|
3247
|
+
begin
|
3248
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[4]/div/div[1]').click
|
3249
|
+
rescue
|
3250
|
+
begin
|
3251
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_4"]/div[2]/button[1]').click
|
3252
|
+
rescue
|
3253
|
+
puts '.......'.yellow
|
3254
|
+
|
3255
|
+
end
|
3256
|
+
|
3257
|
+
end
|
3107
3258
|
|
3108
3259
|
end
|
3109
3260
|
|
@@ -3186,7 +3337,17 @@ post_url = option['post_url'].to_s
|
|
3186
3337
|
begin
|
3187
3338
|
@driver.find_element(:xpath, '//*[@id="dismiss-button"]').click
|
3188
3339
|
rescue
|
3189
|
-
|
3340
|
+
begin
|
3341
|
+
@driver.find_element(:xpath, '//*[@id="banner"]/div[5]/div/div[1]').click
|
3342
|
+
rescue
|
3343
|
+
begin
|
3344
|
+
@driver.find_element(:xpath, '//*[@id="hd_pops_5"]/div[2]/button[1]').click
|
3345
|
+
rescue
|
3346
|
+
puts '.......'.yellow
|
3347
|
+
|
3348
|
+
end
|
3349
|
+
|
3350
|
+
end
|
3190
3351
|
|
3191
3352
|
end
|
3192
3353
|
end
|
@@ -3401,7 +3562,13 @@ begin
|
|
3401
3562
|
@driver.find_element(:xpath, '//*[@name="wr_5"]').send_keys(more_txt1)
|
3402
3563
|
sleep(1)
|
3403
3564
|
rescue
|
3404
|
-
|
3565
|
+
begin
|
3566
|
+
@driver.find_element(:xpath, '//*[@name="wr_10"]').send_keys(more_txt1)
|
3567
|
+
sleep(1)
|
3568
|
+
rescue
|
3569
|
+
puts '-[√] 기타 입력 부분 탐색 1차 코드 탐색 종료.......'.yellow
|
3570
|
+
|
3571
|
+
end
|
3405
3572
|
|
3406
3573
|
end
|
3407
3574
|
|
@@ -3431,7 +3598,13 @@ begin
|
|
3431
3598
|
@driver.find_element(:xpath, '//*[@name="wr_6"]').send_keys(more_txt2)
|
3432
3599
|
sleep(1)
|
3433
3600
|
rescue
|
3434
|
-
|
3601
|
+
begin
|
3602
|
+
@driver.find_element(:xpath, '//*[@name="wr_11"]').send_keys(more_txt1)
|
3603
|
+
sleep(1)
|
3604
|
+
rescue
|
3605
|
+
puts '-[√] 기타 입력 부분 탐색 1차 코드 탐색 종료.......'.yellow
|
3606
|
+
|
3607
|
+
end
|
3435
3608
|
|
3436
3609
|
end
|
3437
3610
|
|
@@ -3461,7 +3634,13 @@ begin
|
|
3461
3634
|
@driver.find_element(:xpath, '//*[@name="wr_7"]').send_keys(more_txt3)
|
3462
3635
|
sleep(1)
|
3463
3636
|
rescue
|
3464
|
-
|
3637
|
+
begin
|
3638
|
+
@driver.find_element(:xpath, '//*[@name="wr_12"]').send_keys(more_txt1)
|
3639
|
+
sleep(1)
|
3640
|
+
rescue
|
3641
|
+
puts '-[√] 기타 입력 부분 탐색 1차 코드 탐색 종료.......'.yellow
|
3642
|
+
|
3643
|
+
end
|
3465
3644
|
|
3466
3645
|
end
|
3467
3646
|
|
@@ -3491,7 +3670,49 @@ begin
|
|
3491
3670
|
@driver.find_element(:xpath, '//*[@name="wr_8"]').send_keys(more_txt4)
|
3492
3671
|
sleep(1)
|
3493
3672
|
rescue
|
3494
|
-
|
3673
|
+
begin
|
3674
|
+
@driver.find_element(:xpath, '//*[@name="wr_13"]').send_keys(more_txt1)
|
3675
|
+
sleep(1)
|
3676
|
+
rescue
|
3677
|
+
puts '-[√] 기타 입력 부분 탐색 1차 코드 탐색 종료.......'.yellow
|
3678
|
+
|
3679
|
+
end
|
3680
|
+
|
3681
|
+
end
|
3682
|
+
|
3683
|
+
end
|
3684
|
+
|
3685
|
+
end
|
3686
|
+
|
3687
|
+
end
|
3688
|
+
##<─────────────────────────────────────────────────────────────기타 입력 부분 탐색 4차 코드 부분
|
3689
|
+
|
3690
|
+
##기타 입력 부분 탐색 4차 코드 부분─────────────────────────────────────────────────────────────>
|
3691
|
+
##기타 입력 부분 탐색 4차 코드 부분─────────────────────────────────────────────────────────────>
|
3692
|
+
##기타 입력 부분 탐색 4차 코드 부분─────────────────────────────────────────────────────────────>
|
3693
|
+
begin
|
3694
|
+
@driver.find_element(:xpath, '//*[@id="wr_9"]').send_keys(more_txt4)
|
3695
|
+
sleep(1)
|
3696
|
+
rescue
|
3697
|
+
begin
|
3698
|
+
@driver.find_element(:xpath, '//*[@name="wr_9"]').send_keys(more_txt4)
|
3699
|
+
sleep(1)
|
3700
|
+
rescue
|
3701
|
+
begin
|
3702
|
+
@driver.find_element(:xpath, '//*[@id="wr_9"]').send_keys(more_txt4)
|
3703
|
+
sleep(1)
|
3704
|
+
rescue
|
3705
|
+
begin
|
3706
|
+
@driver.find_element(:xpath, '//*[@name="wr_9"]').send_keys(more_txt4)
|
3707
|
+
sleep(1)
|
3708
|
+
rescue
|
3709
|
+
begin
|
3710
|
+
@driver.find_element(:xpath, '//*[@name="wr_14"]').send_keys(more_txt1)
|
3711
|
+
sleep(1)
|
3712
|
+
rescue
|
3713
|
+
puts '-[√] 기타 입력 부분 탐색 1차 코드 탐색 종료.......'.yellow
|
3714
|
+
|
3715
|
+
end
|
3495
3716
|
|
3496
3717
|
end
|
3497
3718
|
|
@@ -3565,12 +3786,11 @@ begin
|
|
3565
3786
|
end
|
3566
3787
|
end
|
3567
3788
|
|
3568
|
-
|
3569
3789
|
rescue => e
|
3570
3790
|
puts '-[√] 카테고리 ERROR 발생.......'.red
|
3571
3791
|
puts '-[√] 카테고리 이름 및 카테고리 여부를 다시 확인해주세요.......'.red
|
3572
3792
|
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
3573
|
-
@driver.close
|
3793
|
+
@driver.close
|
3574
3794
|
end
|
3575
3795
|
sleep(1)
|
3576
3796
|
##<─────────────────────────────────────────────────────────────────────카테고리 선택 코드 부분
|
@@ -3672,9 +3892,19 @@ begin
|
|
3672
3892
|
begin
|
3673
3893
|
@driver.find_element(:xpath, '//*[@for="wr_subject"]').send_keys(title)
|
3674
3894
|
rescue
|
3675
|
-
|
3676
|
-
|
3677
|
-
|
3895
|
+
begin
|
3896
|
+
|
3897
|
+
@driver.find_element(:xpath, '/html/body/div[4]/div/div[2]/section/form/div[2]/div/input').click
|
3898
|
+
|
3899
|
+
@driver.action.send_keys(title).perform
|
3900
|
+
|
3901
|
+
|
3902
|
+
rescue
|
3903
|
+
puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
|
3904
|
+
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
3905
|
+
@driver.close
|
3906
|
+
|
3907
|
+
end
|
3678
3908
|
|
3679
3909
|
end
|
3680
3910
|
end
|
@@ -3830,12 +4060,12 @@ sleep(1)
|
|
3830
4060
|
begin
|
3831
4061
|
@driver.find_element(:xpath, '//*[@name="content"]').click
|
3832
4062
|
sleep(1)
|
3833
|
-
puts '1.......'.red
|
4063
|
+
puts '내용 항목 코드 타겟 1.......'.red
|
3834
4064
|
rescue
|
3835
4065
|
begin
|
3836
4066
|
@driver.find_element(:xpath, '//*[@class="note-codable"]').click
|
3837
4067
|
sleep(1)
|
3838
|
-
puts '2.......'.red
|
4068
|
+
puts '내용 항목 코드 타겟 2.......'.red
|
3839
4069
|
rescue
|
3840
4070
|
begin
|
3841
4071
|
#아이프레임에서 코드 선택
|
@@ -3844,22 +4074,22 @@ rescue
|
|
3844
4074
|
#아이프레임 나오기
|
3845
4075
|
@driver.switch_to.default_content()
|
3846
4076
|
sleep(1)
|
3847
|
-
puts '3.......'.red
|
4077
|
+
puts '내용 항목 코드 타겟 3.......'.red
|
3848
4078
|
rescue
|
3849
4079
|
begin
|
3850
4080
|
@driver.find_element(:xpath, '//*[@class="wr_content"]').click
|
3851
4081
|
sleep(1)
|
3852
|
-
puts '4.......'.red
|
4082
|
+
puts '내용 항목 코드 타겟 4.......'.red
|
3853
4083
|
rescue
|
3854
4084
|
begin
|
3855
4085
|
@driver.find_element(:xpath, '//*[@id="wr_content"]').click
|
3856
4086
|
sleep(1)
|
3857
|
-
puts '5.......'.red
|
4087
|
+
puts '내용 항목 코드 타겟 5.......'.red
|
3858
4088
|
rescue
|
3859
4089
|
begin
|
3860
4090
|
@driver.find_element(:xpath, '//*[@name="wr_content"]').click
|
3861
4091
|
sleep(1)
|
3862
|
-
puts '6.......'.red
|
4092
|
+
puts '내용 항목 코드 타겟 6.......'.red
|
3863
4093
|
rescue
|
3864
4094
|
begin
|
3865
4095
|
#아이프레임에서 코드 선택
|
@@ -3868,17 +4098,17 @@ rescue
|
|
3868
4098
|
#아이프레임 나오기
|
3869
4099
|
@driver.switch_to.default_content()
|
3870
4100
|
sleep(1)
|
3871
|
-
puts '7.......'.red
|
4101
|
+
puts '내용 항목 코드 타겟 7.......'.red
|
3872
4102
|
rescue
|
3873
4103
|
begin
|
3874
4104
|
@driver.find_element(:xpath, '//*[@id="edit_contents_textareaBox"]/td/textarea').click
|
3875
4105
|
sleep(1)
|
3876
|
-
puts '8.......'.red
|
4106
|
+
puts '내용 항목 코드 타겟 8.......'.red
|
3877
4107
|
rescue
|
3878
4108
|
begin
|
3879
4109
|
@driver.find_element(:xpath, '//*[@name="kboard_content"]').click
|
3880
4110
|
sleep(1)
|
3881
|
-
puts '9.......'.red
|
4111
|
+
puts '내용 항목 코드 타겟 9.......'.red
|
3882
4112
|
rescue
|
3883
4113
|
begin
|
3884
4114
|
#아이프레임에서 코드 선택
|
@@ -3887,115 +4117,108 @@ rescue
|
|
3887
4117
|
#아이프레임 나오기
|
3888
4118
|
@driver.switch_to.default_content()
|
3889
4119
|
sleep(1)
|
3890
|
-
puts '10.......'.red
|
4120
|
+
puts '내용 항목 코드 타겟 10.......'.red
|
3891
4121
|
rescue
|
3892
4122
|
begin
|
3893
4123
|
@driver.find_element(:xpath, '//*[@title="리치 텍스트 편집기, content"]').click
|
3894
4124
|
sleep(1)
|
3895
|
-
puts '11.......'.red
|
4125
|
+
puts '내용 항목 코드 타겟 11.......'.red
|
3896
4126
|
rescue
|
3897
4127
|
begin
|
3898
4128
|
@driver.find_element(:xpath, '//*[@aria-label="리치 텍스트 편집기, content"]').click
|
3899
4129
|
sleep(1)
|
3900
|
-
puts '12.......'.red
|
4130
|
+
puts '내용 항목 코드 타겟 12.......'.red
|
3901
4131
|
rescue
|
3902
4132
|
begin
|
3903
4133
|
@driver.find_element(:xpath, '//*[@aria-label="리치 텍스트 편집기, editor1"]').click
|
3904
4134
|
sleep(1)
|
3905
|
-
puts '13.......'.red
|
4135
|
+
puts '내용 항목 코드 타겟 13.......'.red
|
3906
4136
|
rescue
|
3907
4137
|
begin
|
3908
4138
|
@driver.find_element(:xpath, '//*[@title="리치 텍스트 편집기, editor1"]').click
|
3909
4139
|
sleep(1)
|
3910
|
-
puts '14.......'.red
|
4140
|
+
puts '내용 항목 코드 타겟 14.......'.red
|
3911
4141
|
rescue
|
3912
4142
|
begin
|
3913
4143
|
@driver.find_element(:xpath, '//*[@id="cke_1_contents"]/textarea]').click
|
3914
4144
|
sleep(1)
|
3915
|
-
puts '15.......'.red
|
4145
|
+
puts '내용 항목 코드 타겟 15.......'.red
|
3916
4146
|
rescue
|
3917
4147
|
begin
|
3918
4148
|
@driver.find_element(:xpath, '//*[@placeholder="내용을 구체적으로 등록해 주세요."]').click
|
3919
4149
|
sleep(1)
|
3920
|
-
puts '16.......'.red
|
4150
|
+
puts '내용 항목 코드 타겟 16.......'.red
|
3921
4151
|
rescue
|
3922
4152
|
begin
|
3923
4153
|
@driver.find_element(:xpath, '//*[@class="fr-code"]').click
|
3924
4154
|
sleep(1)
|
3925
|
-
puts '17.......'.red
|
4155
|
+
puts '내용 항목 코드 타겟 17.......'.red
|
3926
4156
|
rescue
|
3927
4157
|
begin
|
3928
4158
|
@driver.find_element(:xpath, '//*[@title="내용"]').click
|
3929
4159
|
sleep(1)
|
3930
|
-
puts '18.......'.red
|
4160
|
+
puts '내용 항목 코드 타겟 18.......'.red
|
3931
4161
|
rescue
|
3932
4162
|
begin
|
3933
4163
|
@driver.find_element(:xpath, '//*[@class="cheditor-editarea-text-content"]').click
|
3934
4164
|
sleep(1)
|
3935
|
-
puts '19.......'.red
|
4165
|
+
puts '내용 항목 코드 타겟 19.......'.red
|
3936
4166
|
rescue
|
3937
4167
|
begin
|
3938
4168
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="bowrite_content"]/div/iframe"]'))
|
3939
4169
|
@driver.find_element(:xpath, '//*[@title="HTML 편집 모드"]').click
|
3940
4170
|
@driver.switch_to.default_content()
|
3941
4171
|
sleep(1)
|
3942
|
-
puts '20.......'.red
|
4172
|
+
puts '내용 항목 코드 타겟 20.......'.red
|
3943
4173
|
rescue
|
3944
4174
|
begin
|
3945
4175
|
@driver.find_element(:xpath, '//*[@class="CodeMirror-lines"]').click
|
3946
4176
|
sleep(1)
|
3947
|
-
puts '21.......'.red
|
4177
|
+
puts '내용 항목 코드 타겟 21.......'.red
|
3948
4178
|
rescue
|
3949
4179
|
begin
|
3950
4180
|
@driver.find_element(:xpath, '//*[@id="tx_canvas_source"]').click
|
3951
4181
|
sleep(1)
|
3952
|
-
puts '22.......'.red
|
4182
|
+
puts '내용 항목 코드 타겟 22.......'.red
|
3953
4183
|
rescue
|
3954
4184
|
begin
|
3955
4185
|
@driver.find_element(:xpath, '//*[@class="note-editable"]').click
|
3956
4186
|
sleep(1)
|
3957
|
-
puts '23.......'.red
|
4187
|
+
puts '내용 항목 코드 타겟 23.......'.red
|
3958
4188
|
rescue
|
3959
4189
|
begin
|
3960
4190
|
@driver.find_element(:xpath, '//*[@role="textbox"]').click
|
3961
4191
|
sleep(1)
|
3962
|
-
puts '24.......'.red
|
4192
|
+
puts '내용 항목 코드 타겟 24.......'.red
|
3963
4193
|
rescue
|
3964
4194
|
begin
|
3965
4195
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cke_1_contents"]/iframe'))
|
3966
4196
|
@driver.find_element(:xpath, '/html/body').click
|
3967
4197
|
sleep(1)
|
3968
|
-
puts '25.......'.red
|
4198
|
+
puts '내용 항목 코드 타겟 25.......'.red
|
3969
4199
|
rescue
|
3970
4200
|
begin
|
3971
4201
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="b_content_ifr"]'))
|
3972
4202
|
@driver.find_element(:xpath, '//*[@id="tinymce"]').click
|
3973
4203
|
sleep(1)
|
3974
|
-
puts '26.......'.red
|
4204
|
+
puts '내용 항목 코드 타겟 26.......'.red
|
3975
4205
|
rescue
|
3976
4206
|
begin
|
3977
4207
|
@driver.find_element(:xpath, '//*[@id="com_txt_box"]').click
|
3978
4208
|
sleep(1)
|
3979
|
-
puts '27.......'.red
|
4209
|
+
puts '내용 항목 코드 타겟 27.......'.red
|
3980
4210
|
rescue
|
3981
4211
|
begin
|
3982
4212
|
@driver.find_element(:xpath, '//*[@aria-label="Source code editing area"]').click
|
3983
4213
|
sleep(1)
|
3984
|
-
puts '28.......'.red
|
4214
|
+
puts '내용 항목 코드 타겟 28.......'.red
|
3985
4215
|
rescue
|
3986
4216
|
begin
|
3987
4217
|
@driver.find_element(:xpath, '//*[@title="리치 텍스트 편집기, postContent"]').click
|
3988
4218
|
sleep(1)
|
3989
|
-
puts '29.......'.red
|
4219
|
+
puts '내용 항목 코드 타겟 29.......'.red
|
3990
4220
|
rescue
|
3991
|
-
|
3992
|
-
|
3993
|
-
@driver.find_element(:xpath, '//*[@id="wr_content" name="wr_content"]').click
|
3994
|
-
sleep(1)
|
3995
|
-
puts '29.......'.red
|
3996
|
-
rescue
|
3997
|
-
|
3998
|
-
end
|
4221
|
+
|
3999
4222
|
end
|
4000
4223
|
end
|
4001
4224
|
end
|
@@ -4109,7 +4332,7 @@ if option['내용사진자동삽입'] == 'true'
|
|
4109
4332
|
@driver.find_element(:xpath, '//*[@class="btn btn-success fileinput-button"]').click #이미지 올리기 버튼
|
4110
4333
|
rescue
|
4111
4334
|
begin
|
4112
|
-
@driver.close
|
4335
|
+
@driver.close
|
4113
4336
|
rescue
|
4114
4337
|
end
|
4115
4338
|
end
|
@@ -5364,7 +5587,6 @@ end
|
|
5364
5587
|
|
5365
5588
|
|
5366
5589
|
|
5367
|
-
|
5368
5590
|
sleep(1)
|
5369
5591
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
5370
5592
|
begin
|
@@ -5373,9 +5595,15 @@ sleep(2)
|
|
5373
5595
|
puts '-[√] 캡챠 해제 가능 유무 확인.......'.green
|
5374
5596
|
sleep(2)
|
5375
5597
|
puts '-[√] 캡챠 해제 가능 유무 확인.......'.green
|
5376
|
-
sleep(
|
5598
|
+
sleep(1)
|
5599
|
+
# 타임아웃을 3초로 설정
|
5600
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
5601
|
+
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
5602
|
+
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
5603
|
+
sleep(1)
|
5377
5604
|
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
5378
5605
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
5606
|
+
|
5379
5607
|
sleep(10)
|
5380
5608
|
begin
|
5381
5609
|
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
@@ -5415,116 +5643,116 @@ end
|
|
5415
5643
|
##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
|
5416
5644
|
sleep(1)
|
5417
5645
|
|
5418
|
-
#@driver.execute_script("document.body.style.zoom = '0.
|
5646
|
+
#@driver.execute_script("document.body.style.zoom = '0.70'")
|
5419
5647
|
sleep(1)
|
5420
5648
|
##등록 버튼 코드 부분─────────────────────────────────────────────────────────────────────>
|
5421
5649
|
puts '-[√] 내용 등록 버튼 탐색 시작.......'.yellow
|
5422
5650
|
########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 ▼▼▼▼▼▼▼──────────────────────────────#######
|
5423
5651
|
begin
|
5424
|
-
@driver.find_element(:xpath, '//*[@
|
5425
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5652
|
+
@driver.find_element(:xpath, '//*[@value="등록"]').click
|
5653
|
+
puts '-[√] 등록을 1번 코드로 시도하였습니다.......'.magenta
|
5426
5654
|
sleep(5)
|
5427
5655
|
rescue
|
5428
5656
|
begin
|
5429
5657
|
@driver.find_element(:xpath, '//*[@alt="등록"]').click
|
5430
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5658
|
+
puts '-[√] 등록을 2번 코드로 시도하였습니다.......'.magenta
|
5431
5659
|
sleep(5)
|
5432
5660
|
rescue
|
5433
5661
|
begin
|
5434
5662
|
@driver.find_element(:xpath, '//*[@value="작성완료"]').click
|
5435
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5663
|
+
puts '-[√] 등록을 3번 코드로 시도하였습니다.......'.magenta
|
5436
5664
|
sleep(5)
|
5437
5665
|
rescue
|
5438
5666
|
begin
|
5439
5667
|
@driver.find_element(:xpath, '//*[@id="btn_submit"]').click
|
5440
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5668
|
+
puts '-[√] 등록을 4번 코드로 시도하였습니다.......'.magenta
|
5441
5669
|
sleep(5)
|
5442
5670
|
rescue
|
5443
5671
|
begin
|
5444
|
-
@driver.find_element(:xpath, '//*[@class="btn btn-success btn-sm"]')
|
5445
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5672
|
+
@driver.find_element(:xpath, '//*[@class="btn btn-success btn-sm"]')
|
5673
|
+
puts '-[√] 등록을 5번 코드로 시도하였습니다.......'.magenta
|
5446
5674
|
sleep(5)
|
5447
5675
|
rescue
|
5448
5676
|
begin
|
5449
5677
|
@driver.find_element(:xpath, '//*[@class="btn btn-default btn-send-write"]').click
|
5450
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5678
|
+
puts '-[√] 등록을 6번 코드로 시도하였습니다.......'.magenta
|
5451
5679
|
sleep(5)
|
5452
5680
|
rescue
|
5453
5681
|
begin
|
5454
5682
|
@driver.find_element(:xpath, '//*[@title="확인"]').click
|
5455
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5683
|
+
puts '-[√] 등록을 7번 코드로 시도하였습니다.......'.magenta
|
5456
5684
|
sleep(5)
|
5457
5685
|
rescue
|
5458
5686
|
begin
|
5459
5687
|
@driver.find_element(:xpath, '//*[@id="btnSubmit"]').click
|
5460
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5688
|
+
puts '-[√] 등록을 8번 코드로 시도하였습니다.......'.magenta
|
5461
5689
|
sleep(5)
|
5462
5690
|
rescue
|
5463
5691
|
begin
|
5464
5692
|
@driver.find_element(:xpath, '//*[@src="images/board8_input.gif"]').click
|
5465
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5693
|
+
puts '-[√] 등록을 9번 코드로 시도하였습니다.......'.magenta
|
5466
5694
|
sleep(5)
|
5467
5695
|
rescue
|
5468
5696
|
begin
|
5469
|
-
@driver.find_element(:xpath, '//*[@
|
5470
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5697
|
+
@driver.find_element(:xpath, '//*[@align="absmiddle"]').click
|
5698
|
+
puts '-[√] 등록을 10번 코드로 시도하였습니다.......'.magenta
|
5471
5699
|
sleep(5)
|
5472
5700
|
rescue
|
5473
5701
|
begin
|
5474
5702
|
@driver.find_element(:partial_link_text, '작성완료').click #요소같고 텍스트가 다를때 텍스트로 타겟
|
5475
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5703
|
+
puts '-[√] 등록을 11번 코드로 시도하였습니다.......'.magenta
|
5476
5704
|
sleep(5)
|
5477
5705
|
rescue
|
5478
5706
|
begin
|
5479
5707
|
@driver.find_element(:xpath, '//*[@class="_save_post save_post btn"]').click
|
5480
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5708
|
+
puts '-[√] 등록을 12번 코드로 시도하였습니다.......'.magenta
|
5481
5709
|
sleep(5)
|
5482
5710
|
rescue
|
5483
5711
|
begin
|
5484
5712
|
@driver.find_element(:xpath, '//*[@id="main_btn_box"]/button').click
|
5485
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5713
|
+
puts '-[√] 등록을 13번 코드로 시도하였습니다.......'.magenta
|
5486
5714
|
sleep(5)
|
5487
5715
|
rescue
|
5488
5716
|
begin
|
5489
5717
|
@driver.find_element(:xpath, '//*[@type="submit"]').click
|
5490
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5718
|
+
puts '-[√] 등록을 14번 코드로 시도하였습니다.......'.magenta
|
5491
5719
|
sleep(5)
|
5492
5720
|
rescue
|
5493
5721
|
begin
|
5494
5722
|
@driver.find_element(:xpath, '//*[@id="bd-write-btns"]/button').click
|
5495
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5723
|
+
puts '-[√] 등록을 15번 코드로 시도하였습니다.......'.magenta
|
5496
5724
|
sleep(5)
|
5497
5725
|
rescue
|
5498
5726
|
begin
|
5499
5727
|
@driver.find_element(:xpath, '//*[@id="com_btn"]').click
|
5500
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5728
|
+
puts '-[√] 등록을 16번 코드로 시도하였습니다.......'.magenta
|
5501
5729
|
sleep(5)
|
5502
5730
|
rescue
|
5503
5731
|
begin
|
5504
5732
|
@driver.find_element(:xpath, '//*[@class="submit"]').click
|
5505
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5733
|
+
puts '-[√] 등록을 17번 코드로 시도하였습니다.......'.magenta
|
5506
5734
|
sleep(5)
|
5507
5735
|
rescue
|
5508
5736
|
begin
|
5509
5737
|
@driver.find_element(:xpath, '//*[@id="savePostInBoard"]').click
|
5510
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5738
|
+
puts '-[√] 등록을 18번 코드로 시도하였습니다.......'.magenta
|
5511
5739
|
sleep(5)
|
5512
5740
|
rescue
|
5513
5741
|
begin
|
5514
5742
|
@driver.find_element(:xpath, '//*[@form="write"]').click
|
5515
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5743
|
+
puts '-[√] 등록을 19번 코드로 시도하였습니다.......'.magenta
|
5516
5744
|
sleep(5)
|
5517
5745
|
|
5518
5746
|
rescue
|
5519
5747
|
begin
|
5520
5748
|
@driver.find_element(:partial_link_text, '저장하기').click #요소같고 텍스트가 다를때 텍스트로 타겟
|
5521
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5749
|
+
puts '-[√] 등록을 20번 코드로 시도하였습니다.......'.magenta
|
5522
5750
|
sleep(5)
|
5523
5751
|
|
5524
5752
|
rescue
|
5525
5753
|
begin
|
5526
5754
|
@driver.find_element(:xpath, '//*[@id="boardWriteForm"]/div/div[3]/a[2]').click
|
5527
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
5755
|
+
puts '-[√] 등록을 21시도하였습니다.......'.magenta
|
5528
5756
|
sleep(5)
|
5529
5757
|
|
5530
5758
|
rescue
|
@@ -5648,7 +5876,7 @@ rescue
|
|
5648
5876
|
puts '-[√] 등록 실패.......'.red
|
5649
5877
|
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
5650
5878
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
5651
|
-
@driver.close
|
5879
|
+
@driver.close
|
5652
5880
|
|
5653
5881
|
end
|
5654
5882
|
|
@@ -5715,8 +5943,8 @@ rescue
|
|
5715
5943
|
sleep(1)
|
5716
5944
|
@driver.switch_to.alert.accept
|
5717
5945
|
puts (error_text).red
|
5718
|
-
puts '-[√] 등록
|
5719
|
-
File.open('./log/
|
5946
|
+
puts '-[√] 등록 로그 파일 생성 완료.......'.yellow
|
5947
|
+
File.open('./log/posting_log.txt', 'a') do |ff|
|
5720
5948
|
ff.write('[')
|
5721
5949
|
ff.write(DateTime.now.strftime("%Y년%m월%d일%H시%M분"))
|
5722
5950
|
ff.write(']')
|
@@ -5732,8 +5960,8 @@ rescue
|
|
5732
5960
|
sleep(3)
|
5733
5961
|
posting_url = @driver.current_url
|
5734
5962
|
|
5735
|
-
puts '-[√] 등록
|
5736
|
-
File.open('./log/
|
5963
|
+
puts '-[√] 등록 로그 파일 생성 완료.......'.yellow
|
5964
|
+
File.open('./log/posting_log.txt', 'a') do |ff|
|
5737
5965
|
ff.write('[')
|
5738
5966
|
ff.write(DateTime.now.strftime("%Y년%m월%d일%H시%M분"))
|
5739
5967
|
ff.write(']')
|
@@ -5758,10 +5986,10 @@ end
|
|
5758
5986
|
|
5759
5987
|
rescue => e
|
5760
5988
|
puts '-[√] 글쓰기 페이지 접근 및 코드 탐색 ERROR 발생.......'.red
|
5761
|
-
@driver.close
|
5989
|
+
@driver.close
|
5762
5990
|
end
|
5763
5991
|
sleep(3)
|
5764
|
-
|
5992
|
+
@driver.quit
|
5765
5993
|
end
|
5766
5994
|
|
5767
5995
|
|