posting_zon 3.77.779 → 3.79.789
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 +374 -122
- 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: 45e3ac06fbe8ea76c7bc6c6c25cd00f89282c67d5d5a933d5af6e3ce9bb32c92
|
4
|
+
data.tar.gz: df81335cd5d2726d16fa10da9fdd3dfe62ab2a9b6cb1a0d274a2cc142b7aa447
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5a0ec88e140586cabd3fe214dbd3c23aaab3a4748675edfdec569e21807b2e7ee00e1dd3e82a08c155ea33af6c037ee70617c3bdc04f6411462a64ed33fa786
|
7
|
+
data.tar.gz: f486865add8326993500505a92bf0ab92b61e907227326b4396867fe8d5918b8c10e8d138452f2b1aa42d086dbe87db56fa4ded1b9e20b402350ad8ebf657ace
|
data/lib/posting_zon.rb
CHANGED
@@ -31,13 +31,10 @@ class Naver
|
|
31
31
|
def initialize
|
32
32
|
|
33
33
|
begin
|
34
|
-
# webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
|
35
34
|
puts "크롬을 최신 상태로 업데이트 해주세요"
|
36
35
|
puts "크롬 최신 상태가 아닐경우 오류가 발생될수있습니다."
|
37
|
-
# Webdrivers가 드라이버를 다운로드할 경로를 설정
|
38
36
|
Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
|
39
37
|
Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
|
40
|
-
# 크롬드라이버 자동 업데이트 시도
|
41
38
|
Webdrivers::Chromedriver.update
|
42
39
|
puts "chromedriver 자동 다운로드 성공"
|
43
40
|
rescue => e
|
@@ -383,6 +380,8 @@ class Naver
|
|
383
380
|
end
|
384
381
|
end
|
385
382
|
puts '-[√] 브라우저 필요 설정 1차 시도.......'.green
|
383
|
+
@driver.manage.window.maximize
|
384
|
+
sleep(2)
|
386
385
|
@driver.get('chrome://settings/security')
|
387
386
|
sleep(2)
|
388
387
|
mouse_move_percentage(0.3,0.02)
|
@@ -399,12 +398,13 @@ class Naver
|
|
399
398
|
|
400
399
|
@driver.get('chrome://password-manager/settings')
|
401
400
|
sleep(2)
|
401
|
+
@driver.get('chrome://password-manager/settings')
|
402
402
|
mouse_move_percentage(0.3,0.02)
|
403
403
|
sleep(0.5)
|
404
404
|
left_click
|
405
405
|
sleep(1)
|
406
406
|
# 루비에서 'tab' 키를 0.5초마다 7번 누르기
|
407
|
-
|
407
|
+
3.times do
|
408
408
|
key_stroke('tab') # 'tab' 키를 입력
|
409
409
|
sleep(0.5) # 0.5초 대기
|
410
410
|
end
|
@@ -474,6 +474,8 @@ class Naver
|
|
474
474
|
end
|
475
475
|
|
476
476
|
puts '-[√] 브라우저 필요 설정 1차 시도.......'.green
|
477
|
+
@driver.manage.window.maximize
|
478
|
+
sleep(2)
|
477
479
|
@driver.get('chrome://settings/security')
|
478
480
|
sleep(2)
|
479
481
|
mouse_move_percentage(0.3,0.02)
|
@@ -495,7 +497,7 @@ class Naver
|
|
495
497
|
left_click
|
496
498
|
sleep(1)
|
497
499
|
# 루비에서 'tab' 키를 0.5초마다 7번 누르기
|
498
|
-
|
500
|
+
3.times do
|
499
501
|
key_stroke('tab') # 'tab' 키를 입력
|
500
502
|
sleep(0.5) # 0.5초 대기
|
501
503
|
end
|
@@ -560,7 +562,6 @@ class Naver
|
|
560
562
|
|
561
563
|
|
562
564
|
else
|
563
|
-
# @driver.switch_to.default_content
|
564
565
|
end
|
565
566
|
|
566
567
|
begin
|
@@ -592,9 +593,6 @@ class Naver
|
|
592
593
|
end
|
593
594
|
|
594
595
|
|
595
|
-
|
596
|
-
|
597
|
-
|
598
596
|
def update(user_id, user_pw, title, content, option, post_url, signup_url, login_url, cc_check_url, image_url_cheng, img_link2, category, more_txt1, more_txt2, more_txt3, more_txt4, captcha_key, keyword)
|
599
597
|
puts 'start...'.yellow
|
600
598
|
@user_id = user_id
|
@@ -1783,8 +1781,8 @@ begin
|
|
1783
1781
|
#@driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
1784
1782
|
el = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
1785
1783
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1786
|
-
puts '-[√]
|
1787
|
-
puts '-[√]
|
1784
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1785
|
+
puts '-[√] 캡챠 코드 code 1.......'.red
|
1788
1786
|
sleep(1)
|
1789
1787
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1790
1788
|
sleep(1)
|
@@ -1804,8 +1802,8 @@ rescue
|
|
1804
1802
|
#@driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
1805
1803
|
el = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
1806
1804
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1807
|
-
puts '-[√]
|
1808
|
-
puts '-[√]
|
1805
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1806
|
+
puts '-[√] 캡챠 코드 code 2.......'.red
|
1809
1807
|
sleep(1)
|
1810
1808
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1811
1809
|
sleep(1)
|
@@ -1826,8 +1824,8 @@ rescue
|
|
1826
1824
|
#@driver.find_element(:xpath, '//*[@id="captcha_img"]').send_keys(:tab)
|
1827
1825
|
el = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
|
1828
1826
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1829
|
-
puts '-[√]
|
1830
|
-
puts '-[√]
|
1827
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1828
|
+
puts '-[√] 캡챠 코드 code 3.......'.red
|
1831
1829
|
sleep(1)
|
1832
1830
|
#요소 자체 제거 하기 기능
|
1833
1831
|
chat_box = @driver.find_element(:xpath, '//*[@for="captcha_key"]')
|
@@ -1853,8 +1851,8 @@ rescue
|
|
1853
1851
|
#@driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
1854
1852
|
el = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
1855
1853
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1856
|
-
puts '-[√]
|
1857
|
-
puts '-[√]
|
1854
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1855
|
+
puts '-[√] 캡챠 코드 code 4.......'.red
|
1858
1856
|
sleep(1)
|
1859
1857
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1860
1858
|
sleep(1)
|
@@ -1873,8 +1871,8 @@ rescue
|
|
1873
1871
|
@driver.switch_to.default_content()
|
1874
1872
|
el = @driver.find_element(:xpath, '//img[contains(@src, "kboard_captcha")]')
|
1875
1873
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1876
|
-
puts '-[√]
|
1877
|
-
puts '-[√]
|
1874
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1875
|
+
puts '-[√] 캡챠 코드 code 5-1.......'.red
|
1878
1876
|
sleep(1)
|
1879
1877
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1880
1878
|
sleep(1)
|
@@ -1896,8 +1894,8 @@ rescue
|
|
1896
1894
|
#@driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
|
1897
1895
|
el = @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"] img')
|
1898
1896
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1899
|
-
puts '-[√]
|
1900
|
-
puts '-[√]
|
1897
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1898
|
+
puts '-[√] 캡챠 코드 code 5-2.......'.red
|
1901
1899
|
sleep(1)
|
1902
1900
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1903
1901
|
sleep(1)
|
@@ -1918,8 +1916,8 @@ rescue
|
|
1918
1916
|
#@driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
1919
1917
|
el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
1920
1918
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1921
|
-
puts '-[√]
|
1922
|
-
puts '-[√]
|
1919
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1920
|
+
puts '-[√] 캡챠 코드 code 6.......'.red
|
1923
1921
|
sleep(1)
|
1924
1922
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1925
1923
|
sleep(1)
|
@@ -1939,8 +1937,8 @@ rescue
|
|
1939
1937
|
#@driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
1940
1938
|
el = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
1941
1939
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1942
|
-
puts '-[√]
|
1943
|
-
puts '-[√]
|
1940
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1941
|
+
puts '-[√] 캡챠 코드 code 7.......'.red
|
1944
1942
|
sleep(1)
|
1945
1943
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1946
1944
|
sleep(1)
|
@@ -1960,8 +1958,8 @@ rescue
|
|
1960
1958
|
#@driver.find_element(:xpath, '//*[@id="spamauth"]')
|
1961
1959
|
el = @driver.find_element(:xpath, '//*[@id="spamauth"]')
|
1962
1960
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1963
|
-
puts '-[√]
|
1964
|
-
puts '-[√]
|
1961
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1962
|
+
puts '-[√] 캡챠 코드 code 8.......'.red
|
1965
1963
|
sleep(1)
|
1966
1964
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1967
1965
|
sleep(1)
|
@@ -1981,8 +1979,8 @@ rescue
|
|
1981
1979
|
#@driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
1982
1980
|
el = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
1983
1981
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1984
|
-
puts '-[√]
|
1985
|
-
puts '-[√]
|
1982
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1983
|
+
puts '-[√] 캡챠 코드 code 9.......'.red
|
1986
1984
|
sleep(1)
|
1987
1985
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1988
1986
|
sleep(1)
|
@@ -2001,8 +1999,8 @@ rescue
|
|
2001
1999
|
@driver.switch_to.default_content()
|
2002
2000
|
el = @driver.find_element(:xpath, '//*[@class="CodeImage"]')
|
2003
2001
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
2004
|
-
puts '-[√]
|
2005
|
-
puts '-[√]
|
2002
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
2003
|
+
puts '-[√] 캡챠 코드 code 10.......'.red
|
2006
2004
|
sleep(1)
|
2007
2005
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
2008
2006
|
sleep(1)
|
@@ -2021,8 +2019,8 @@ rescue
|
|
2021
2019
|
@driver.switch_to.default_content()
|
2022
2020
|
el = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
2023
2021
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
2024
|
-
puts '-[√]
|
2025
|
-
puts '-[√]
|
2022
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
2023
|
+
puts '-[√] 캡챠 코드 code 11.......'.red
|
2026
2024
|
sleep(1)
|
2027
2025
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
2028
2026
|
sleep(1)
|
@@ -2041,8 +2039,8 @@ rescue
|
|
2041
2039
|
@driver.switch_to.default_content()
|
2042
2040
|
el = @driver.find_element(:xpath, '//*[@class="lazy-loaded"]')
|
2043
2041
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
2044
|
-
puts '-[√]
|
2045
|
-
puts '-[√]
|
2042
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
2043
|
+
puts '-[√] 캡챠 코드 code 12.......'.red
|
2046
2044
|
sleep(1)
|
2047
2045
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
2048
2046
|
sleep(1)
|
@@ -5513,28 +5511,38 @@ begin
|
|
5513
5511
|
begin
|
5514
5512
|
@driver.find_element(:xpath, "//label[contains(text(), '글쓴이')]/following-sibling::input").send_keys(user_id)
|
5515
5513
|
sleep(1)
|
5516
|
-
puts '-[√] 닉네임
|
5514
|
+
puts '-[√] 닉네임 22코드 타겟.......'.yellow
|
5517
5515
|
rescue
|
5518
5516
|
begin
|
5519
5517
|
@driver.find_element(:id, "nick_name").send_keys(user_id)
|
5520
5518
|
sleep(1)
|
5521
|
-
puts '-[√] 닉네임
|
5519
|
+
puts '-[√] 닉네임 22코드 타겟.......'.yellow
|
5522
5520
|
rescue
|
5523
5521
|
begin
|
5524
5522
|
@driver.find_element(:name, "nick_name").send_keys(user_id)
|
5525
5523
|
sleep(1)
|
5526
|
-
puts '-[√] 닉네임
|
5524
|
+
puts '-[√] 닉네임 22코드 타겟.......'.yellow
|
5527
5525
|
rescue
|
5528
5526
|
begin
|
5529
5527
|
@driver.find_element(xpath: '//input[@name="wname"]').send_keys(user_id)
|
5530
5528
|
sleep(1)
|
5531
|
-
puts '-[√] 닉네임
|
5529
|
+
puts '-[√] 닉네임 22코드 타겟.......'.yellow
|
5532
5530
|
rescue
|
5533
|
-
|
5531
|
+
begin
|
5532
|
+
@driver.find_element(xpath: '//*[@name="rg_name"]').send_keys(user_id)
|
5533
|
+
sleep(1)
|
5534
|
+
puts '-[√] 닉네임 23코드 타겟.......'.yellow
|
5535
|
+
rescue
|
5536
|
+
|
5537
|
+
end
|
5534
5538
|
end
|
5539
|
+
|
5535
5540
|
end
|
5541
|
+
|
5536
5542
|
end
|
5543
|
+
|
5537
5544
|
end
|
5545
|
+
|
5538
5546
|
end
|
5539
5547
|
|
5540
5548
|
end
|
@@ -5985,58 +5993,105 @@ begin
|
|
5985
5993
|
##체크박스 코드 부분─────────────────────────────────────────────────────────────────────>
|
5986
5994
|
#puts '-[√] 체크 항목 탐색 시작.......'.yellow
|
5987
5995
|
begin
|
5996
|
+
check = @driver.find_element(:xpath, '//*[@fw-label="개인정보보호정책"]')
|
5997
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
5998
|
+
sleep(1)
|
5988
5999
|
@driver.find_element(:xpath, '//*[@fw-label="개인정보보호정책"]').click
|
5989
6000
|
sleep(1)
|
5990
6001
|
rescue
|
5991
6002
|
begin
|
6003
|
+
check = @driver.find_element(:xpath, '//*[@for="privacy_agreement_radio0"]')
|
6004
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6005
|
+
sleep(1)
|
5992
6006
|
@driver.find_element(:xpath, '//*[@for="privacy_agreement_radio0"]').click
|
5993
6007
|
sleep(1)
|
5994
6008
|
rescue
|
5995
6009
|
begin
|
6010
|
+
check = @driver.find_element(:partial_link_text, '동의함')
|
6011
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6012
|
+
sleep(1)
|
5996
6013
|
@driver.find_element(:partial_link_text, '동의함').click #요소같고 텍스트가 다를때 텍스트로 타겟
|
5997
6014
|
sleep(1)
|
5998
6015
|
rescue
|
5999
6016
|
begin
|
6017
|
+
check = @driver.find_element(:xpath, '/*[@id="tags"]')
|
6018
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6019
|
+
sleep(1)
|
6000
6020
|
@driver.find_element(:xpath, '/*[@id="tags"]').click
|
6001
6021
|
sleep(1)
|
6002
6022
|
rescue
|
6003
6023
|
begin
|
6024
|
+
check = @driver.find_element(:xpath, '//*[@id="moreMisc-1"]')
|
6025
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6026
|
+
sleep(1)
|
6004
6027
|
@driver.find_element(:xpath, '//*[@id="moreMisc-1"]').click
|
6005
6028
|
sleep(1)
|
6006
6029
|
rescue
|
6007
6030
|
begin
|
6031
|
+
check = @driver.find_element(:xpath, '//*[@value="html"]')
|
6032
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6033
|
+
sleep(1)
|
6008
6034
|
@driver.find_element(:xpath, '//*[@value="html"]').click
|
6009
6035
|
sleep(1)
|
6010
6036
|
rescue
|
6011
6037
|
begin
|
6038
|
+
check = @driver.find_element(:xpath, '//*[@type="radio"]')
|
6039
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6040
|
+
sleep(1)
|
6012
6041
|
@driver.find_element(:xpath, '//*[@type="radio"]').click
|
6013
6042
|
sleep(1)
|
6014
6043
|
rescue
|
6015
6044
|
begin
|
6045
|
+
check = @driver.find_element(:xpath, '//*[@id="subjects"]/label[1]')
|
6046
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6047
|
+
sleep(1)
|
6016
6048
|
@driver.find_element(:xpath, '//*[@id="subjects"]/label[1]').click
|
6017
6049
|
sleep(1)
|
6018
6050
|
rescue
|
6019
6051
|
begin
|
6052
|
+
check = @driver.find_element(:xpath, '//*[@id="boardPrivacyCheck"]')
|
6053
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6054
|
+
sleep(1)
|
6020
6055
|
@driver.find_element(:xpath, '//*[@id="boardPrivacyCheck"]').click
|
6021
6056
|
sleep(1)
|
6022
6057
|
rescue
|
6023
6058
|
begin
|
6059
|
+
check = @driver.find_element(:xpath, '//*[@for="boardPrivacyCheck"]')
|
6060
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6061
|
+
sleep(1)
|
6024
6062
|
@driver.find_element(:xpath, '//*[@for="boardPrivacyCheck"]').click
|
6025
6063
|
sleep(1)
|
6026
6064
|
rescue
|
6027
6065
|
begin
|
6066
|
+
check = @driver.find_element(:xpath, '//*[@for="checkbox-nonMember"]')
|
6067
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6068
|
+
sleep(1)
|
6028
6069
|
@driver.find_element(:xpath, '//*[@for="checkbox-nonMember"]').click
|
6029
6070
|
sleep(1)
|
6030
6071
|
rescue
|
6031
6072
|
begin
|
6073
|
+
check = @driver.find_element(:xpath, '//*[@name="agree_chk"]')
|
6074
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6075
|
+
sleep(1)
|
6032
6076
|
@driver.find_element(:xpath, '//*[@name="agree_chk"]').click
|
6033
6077
|
sleep(1)
|
6034
6078
|
rescue
|
6035
6079
|
begin
|
6080
|
+
check = @driver.find_element(:xpath, '//*[@name="bot_check"]')
|
6081
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6082
|
+
sleep(1)
|
6036
6083
|
@driver.find_element(:xpath, '//*[@name="bot_check"]').click
|
6037
6084
|
sleep(1)
|
6038
6085
|
rescue
|
6039
|
-
|
6086
|
+
begin
|
6087
|
+
check = @driver.find_element(:xpath, '//*[@for="is_agree02"]')
|
6088
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
6089
|
+
sleep(1)
|
6090
|
+
@driver.execute_script("arguments[0].click();", check)
|
6091
|
+
|
6092
|
+
rescue
|
6093
|
+
|
6094
|
+
end
|
6040
6095
|
end
|
6041
6096
|
end
|
6042
6097
|
end
|
@@ -6294,30 +6349,57 @@ begin
|
|
6294
6349
|
@driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요."]').send_keys(title)
|
6295
6350
|
sleep(1)
|
6296
6351
|
puts '-[√] 제목 code 37.......'.yellow
|
6297
|
-
|
6352
|
+
|
6353
|
+
|
6354
|
+
|
6355
|
+
|
6356
|
+
rescue
|
6298
6357
|
begin
|
6299
6358
|
|
6300
6359
|
@driver.find_element(:xpath, '//*[@id="sj"]').send_keys(title)
|
6301
6360
|
sleep(1)
|
6302
6361
|
puts '-[√] 제목 code 38.......'.yellow
|
6303
|
-
rescue
|
6304
|
-
|
6305
|
-
|
6306
|
-
|
6307
|
-
|
6308
|
-
|
6362
|
+
rescue
|
6363
|
+
begin
|
6364
|
+
|
6365
|
+
@driver.find_element(:xpath, '//*[@class="i_text wid02"]').send_keys(title)
|
6366
|
+
sleep(1)
|
6367
|
+
puts '-[√] 제목 code 39.......'.yellow
|
6368
|
+
rescue
|
6309
6369
|
begin
|
6310
|
-
|
6311
|
-
|
6312
|
-
|
6313
|
-
|
6314
|
-
|
6315
|
-
|
6316
|
-
|
6317
|
-
|
6318
|
-
|
6370
|
+
|
6371
|
+
@driver.find_element(:xpath, '//*[@name="rg_title"]').send_keys(title)
|
6372
|
+
sleep(1)
|
6373
|
+
puts '-[√] 제목 code 40.......'.yellow
|
6374
|
+
rescue
|
6375
|
+
begin
|
6376
|
+
|
6377
|
+
@driver.find_element(:css, 'input[name="title"]').send_keys(title)
|
6378
|
+
sleep(1)
|
6379
|
+
puts '-[√] 제목 code 41.......'.yellow
|
6380
|
+
rescue => e
|
6381
|
+
puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
|
6382
|
+
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
6383
|
+
|
6384
|
+
@driver.window_handles.each do |handle|
|
6385
|
+
@driver.switch_to.window(handle)
|
6386
|
+
begin
|
6387
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
6388
|
+
@driver.close
|
6389
|
+
|
6390
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
6391
|
+
puts "크롬 브라우저 종료: #{e.message}"
|
6392
|
+
end
|
6393
|
+
end
|
6394
|
+
return 0
|
6395
|
+
@driver.quit
|
6396
|
+
end
|
6397
|
+
end
|
6398
|
+
end
|
6319
6399
|
end
|
6320
6400
|
|
6401
|
+
end
|
6402
|
+
|
6321
6403
|
|
6322
6404
|
|
6323
6405
|
|
@@ -6600,18 +6682,33 @@ begin
|
|
6600
6682
|
@driver.find_element(:xpath, '//*[@id="html"]').click
|
6601
6683
|
@driver.switch_to.default_content
|
6602
6684
|
rescue
|
6685
|
+
begin
|
6686
|
+
html_bb = @driver.find_element(:xpath, '//*[@type="radio" and @name="rg_html_use" and @value="1"]')
|
6687
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_bb)
|
6688
|
+
puts '-[√] HTML 코드 28 code.......'.yellow
|
6689
|
+
sleep(1)
|
6690
|
+
@driver.find_element(:xpath, '//*[@type="radio" and @name="rg_html_use" and @value="1"]').click
|
6691
|
+
rescue
|
6692
|
+
|
6693
|
+
end
|
6603
6694
|
end
|
6604
|
-
end
|
6605
6695
|
end
|
6606
6696
|
end
|
6607
6697
|
end
|
6608
6698
|
end
|
6699
|
+
|
6609
6700
|
end
|
6701
|
+
|
6610
6702
|
end
|
6703
|
+
|
6611
6704
|
end
|
6705
|
+
|
6612
6706
|
end
|
6707
|
+
|
6613
6708
|
end
|
6709
|
+
|
6614
6710
|
end
|
6711
|
+
|
6615
6712
|
end
|
6616
6713
|
end
|
6617
6714
|
end
|
@@ -6844,53 +6941,53 @@ rescue
|
|
6844
6941
|
puts '내용 항목 코드 타겟 34.......'.red
|
6845
6942
|
rescue
|
6846
6943
|
begin
|
6847
|
-
@driver.find_element(:xpath, '//*[@
|
6848
|
-
sleep(1)
|
6944
|
+
@driver.find_element(:xpath, '//*[@class="b_textarea"]').click
|
6849
6945
|
puts '내용 항목 코드 타겟 35.......'.red
|
6850
6946
|
rescue
|
6851
6947
|
begin
|
6852
6948
|
@driver.find_element(:xpath, '/html/body/div[1]/div[2]/div/div/section/form/div[4]/div/textarea').click
|
6853
6949
|
sleep(1)
|
6854
|
-
puts '내용 항목 코드 타겟
|
6950
|
+
puts '내용 항목 코드 타겟 36.......'.red
|
6855
6951
|
rescue
|
6856
6952
|
begin
|
6857
|
-
@driver.find_element(:xpath, '
|
6953
|
+
@driver.find_element(:xpath, '//*[@align="center"]').click
|
6858
6954
|
sleep(1)
|
6859
|
-
puts '내용 항목 코드 타겟
|
6955
|
+
puts '내용 항목 코드 타겟 37.......'.red
|
6956
|
+
|
6860
6957
|
rescue
|
6861
6958
|
begin
|
6862
6959
|
@driver.find_element(:xpath, '//*[@class="CodeMirror-lines"]').click
|
6863
6960
|
sleep(1)
|
6864
|
-
puts '내용 항목 코드 타겟
|
6961
|
+
puts '내용 항목 코드 타겟 38.......'.red
|
6865
6962
|
rescue
|
6866
6963
|
begin
|
6867
6964
|
@driver.find_element(:xpath, '//textarea[@id="kboard_content"]').click
|
6868
6965
|
sleep(1)
|
6869
|
-
puts '내용 항목 코드 타겟
|
6966
|
+
puts '내용 항목 코드 타겟 39.......'.red
|
6870
6967
|
rescue
|
6871
6968
|
begin
|
6872
6969
|
@driver.find_element(:xpath, '//textarea[@class="editor-textarea "]').click
|
6873
6970
|
sleep(1)
|
6874
|
-
puts '내용 항목 코드 타겟
|
6971
|
+
puts '내용 항목 코드 타겟 40.......'.red
|
6875
6972
|
rescue
|
6876
6973
|
begin
|
6877
6974
|
@driver.find_element(:xpath, '//textarea[@name="kboard_content"]').click
|
6878
6975
|
sleep(1)
|
6879
|
-
puts '내용 항목 코드 타겟
|
6976
|
+
puts '내용 항목 코드 타겟 41.......'.red
|
6880
6977
|
rescue
|
6881
6978
|
begin
|
6882
6979
|
@driver.find_element(:xpath, '//*[@class="kboard-attr-row kboard-attr-content required"]').click
|
6883
6980
|
sleep(1)
|
6884
|
-
puts '내용 항목 코드 타겟
|
6981
|
+
puts '내용 항목 코드 타겟 42.......'.red
|
6885
6982
|
rescue
|
6886
6983
|
begin
|
6887
6984
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="NamoSE_Ifr__editor"]'))
|
6888
6985
|
@driver.find_element(:xpath, '//*[@class="hide-vertical-guideline ruler-hidden"]').click
|
6889
6986
|
sleep(1)
|
6890
6987
|
@driver.switch_to.default_content
|
6891
|
-
puts '내용 항목 코드 타겟
|
6988
|
+
puts '내용 항목 코드 타겟 43.......'.red
|
6892
6989
|
rescue
|
6893
|
-
|
6990
|
+
|
6894
6991
|
end
|
6895
6992
|
end
|
6896
6993
|
end
|
@@ -8030,8 +8127,8 @@ if check_captcha == 0
|
|
8030
8127
|
#@driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
8031
8128
|
el = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
8032
8129
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8033
|
-
puts '-[√]
|
8034
|
-
puts '-[√]
|
8130
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8131
|
+
puts '-[√] 캡챠 코드 code 1.......'.red
|
8035
8132
|
sleep(1)
|
8036
8133
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8037
8134
|
sleep(1)
|
@@ -8051,8 +8148,8 @@ if check_captcha == 0
|
|
8051
8148
|
#@driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
8052
8149
|
el = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
8053
8150
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8054
|
-
puts '-[√]
|
8055
|
-
puts '-[√]
|
8151
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8152
|
+
puts '-[√] 캡챠 코드 code 2.......'.red
|
8056
8153
|
sleep(1)
|
8057
8154
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8058
8155
|
sleep(1)
|
@@ -8072,8 +8169,8 @@ if check_captcha == 0
|
|
8072
8169
|
#@driver.find_element(:xpath, '//*[@id="captcha_img"]').send_keys(:tab)
|
8073
8170
|
el = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
|
8074
8171
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8075
|
-
puts '-[√]
|
8076
|
-
puts '-[√]
|
8172
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8173
|
+
puts '-[√] 캡챠 코드 code 3.......'.red
|
8077
8174
|
sleep(1)
|
8078
8175
|
#요소 자체 제거 하기 기능
|
8079
8176
|
chat_box = @driver.find_element(:xpath, '//*[@for="captcha_key"]')
|
@@ -8099,8 +8196,8 @@ if check_captcha == 0
|
|
8099
8196
|
#@driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
8100
8197
|
el = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
8101
8198
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8102
|
-
puts '-[√]
|
8103
|
-
puts '-[√]
|
8199
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8200
|
+
puts '-[√] 캡챠 코드 code 4.......'.red
|
8104
8201
|
sleep(1)
|
8105
8202
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8106
8203
|
sleep(1)
|
@@ -8119,8 +8216,8 @@ if check_captcha == 0
|
|
8119
8216
|
@driver.switch_to.default_content()
|
8120
8217
|
el = @driver.find_element(:xpath, '//img[contains(@src, "kboard_captcha")]')
|
8121
8218
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8122
|
-
puts '-[√]
|
8123
|
-
puts '-[√]
|
8219
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8220
|
+
puts '-[√] 캡챠 코드 code 5-1.......'.red
|
8124
8221
|
sleep(1)
|
8125
8222
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8126
8223
|
sleep(1)
|
@@ -8140,8 +8237,8 @@ if check_captcha == 0
|
|
8140
8237
|
#@driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
|
8141
8238
|
el = @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"] img')
|
8142
8239
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8143
|
-
puts '-[√]
|
8144
|
-
puts '-[√]
|
8240
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8241
|
+
puts '-[√] 캡챠 코드 code 5-2.......'.red
|
8145
8242
|
sleep(1)
|
8146
8243
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8147
8244
|
sleep(1)
|
@@ -8162,8 +8259,8 @@ if check_captcha == 0
|
|
8162
8259
|
#@driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
8163
8260
|
el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
8164
8261
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8165
|
-
puts '-[√]
|
8166
|
-
puts '-[√]
|
8262
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8263
|
+
puts '-[√] 캡챠 코드 code 6.......'.red
|
8167
8264
|
sleep(1)
|
8168
8265
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8169
8266
|
sleep(1)
|
@@ -8183,8 +8280,8 @@ if check_captcha == 0
|
|
8183
8280
|
#@driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
8184
8281
|
el = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
8185
8282
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8186
|
-
puts '-[√]
|
8187
|
-
puts '-[√]
|
8283
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8284
|
+
puts '-[√] 캡챠 코드 code 7.......'.red
|
8188
8285
|
sleep(1)
|
8189
8286
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8190
8287
|
sleep(1)
|
@@ -8201,11 +8298,10 @@ if check_captcha == 0
|
|
8201
8298
|
rescue
|
8202
8299
|
begin
|
8203
8300
|
@driver.switch_to.default_content()
|
8204
|
-
|
8205
|
-
el = @driver.find_element(:xpath, '//*[@id="spamauth"]')
|
8301
|
+
el = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
8206
8302
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8207
|
-
puts '-[√]
|
8208
|
-
puts '-[√]
|
8303
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8304
|
+
puts '-[√] 캡챠 코드 code 8.......'.red
|
8209
8305
|
sleep(1)
|
8210
8306
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8211
8307
|
sleep(1)
|
@@ -8218,15 +8314,15 @@ if check_captcha == 0
|
|
8218
8314
|
sleep(1)
|
8219
8315
|
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
8220
8316
|
sleep(1)
|
8221
|
-
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
8317
|
+
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
8222
8318
|
rescue
|
8223
8319
|
begin
|
8224
8320
|
@driver.switch_to.default_content()
|
8225
8321
|
#@driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
8226
8322
|
el = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
8227
8323
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8228
|
-
puts '-[√]
|
8229
|
-
puts '-[√]
|
8324
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8325
|
+
puts '-[√] 캡챠 코드 code 9.......'.red
|
8230
8326
|
sleep(1)
|
8231
8327
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8232
8328
|
sleep(1)
|
@@ -8245,8 +8341,8 @@ if check_captcha == 0
|
|
8245
8341
|
@driver.switch_to.default_content()
|
8246
8342
|
el = @driver.find_element(:xpath, '//*[@class="CodeImage"]')
|
8247
8343
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8248
|
-
puts '-[√]
|
8249
|
-
puts '-[√]
|
8344
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8345
|
+
puts '-[√] 캡챠 코드 code 10.......'.red
|
8250
8346
|
sleep(1)
|
8251
8347
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8252
8348
|
sleep(1)
|
@@ -8263,10 +8359,10 @@ if check_captcha == 0
|
|
8263
8359
|
rescue
|
8264
8360
|
begin
|
8265
8361
|
@driver.switch_to.default_content()
|
8266
|
-
el = @driver.find_element(:xpath, '//*[@
|
8362
|
+
el = @driver.find_element(:xpath, '//*[@class="lazy-loaded"]')
|
8267
8363
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8268
|
-
puts '-[√]
|
8269
|
-
puts '-[√]
|
8364
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8365
|
+
puts '-[√] 캡챠 코드 code 12.......'.red
|
8270
8366
|
sleep(1)
|
8271
8367
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8272
8368
|
sleep(1)
|
@@ -8283,10 +8379,10 @@ if check_captcha == 0
|
|
8283
8379
|
rescue
|
8284
8380
|
begin
|
8285
8381
|
@driver.switch_to.default_content()
|
8286
|
-
el = @driver.find_element(:xpath, '//*[@
|
8382
|
+
el = @driver.find_element(:xpath, '//*[@id="zsfImg"]')
|
8287
8383
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8288
|
-
puts '-[√]
|
8289
|
-
puts '-[√]
|
8384
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8385
|
+
puts '-[√] 캡챠 코드 code 12.......'.red
|
8290
8386
|
sleep(1)
|
8291
8387
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8292
8388
|
sleep(1)
|
@@ -8303,10 +8399,10 @@ if check_captcha == 0
|
|
8303
8399
|
rescue
|
8304
8400
|
begin
|
8305
8401
|
@driver.switch_to.default_content()
|
8306
|
-
el = @driver.find_element(:xpath, '//*[@id="
|
8402
|
+
el = @driver.find_element(:xpath, '//*[@id="spamauth"]')
|
8307
8403
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8308
|
-
puts '-[√]
|
8309
|
-
puts '-[√]
|
8404
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8405
|
+
puts '-[√] 캡챠 코드 code 13.......'.red
|
8310
8406
|
sleep(1)
|
8311
8407
|
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8312
8408
|
sleep(1)
|
@@ -8321,8 +8417,32 @@ if check_captcha == 0
|
|
8321
8417
|
sleep(1)
|
8322
8418
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
8323
8419
|
rescue
|
8420
|
+
begin
|
8421
|
+
@driver.switch_to.default_content()
|
8422
|
+
el = @driver.find_element(:xpath, '//img[contains(@src, "autoStrParam")]')
|
8423
|
+
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8424
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8425
|
+
puts '-[√] 캡챠 코드 code 14.......'.red
|
8426
|
+
sleep(1)
|
8427
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8428
|
+
sleep(1)
|
8429
|
+
mouse_move_percentage(0.3,0.02)
|
8430
|
+
sleep(0.5)
|
8431
|
+
left_click
|
8432
|
+
sleep(1)
|
8433
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
8434
|
+
@driver.action.context_click(el).perform #우 클릭
|
8435
|
+
sleep(1)
|
8436
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
8437
|
+
sleep(1)
|
8438
|
+
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
8439
|
+
rescue
|
8440
|
+
|
8324
8441
|
|
8442
|
+
end
|
8443
|
+
|
8325
8444
|
end
|
8445
|
+
|
8326
8446
|
end
|
8327
8447
|
end
|
8328
8448
|
end
|
@@ -8557,7 +8677,6 @@ if check_captcha == 0
|
|
8557
8677
|
rescue
|
8558
8678
|
begin
|
8559
8679
|
@driver.find_element(:xpath, '//*[@id="spamCode"]').click
|
8560
|
-
|
8561
8680
|
sleep(1)
|
8562
8681
|
|
8563
8682
|
el2 = @driver.find_element(:xpath, '//*[@id="spamCode"]')
|
@@ -8930,7 +9049,121 @@ if check_captcha == 0
|
|
8930
9049
|
puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
|
8931
9050
|
sleep(1)
|
8932
9051
|
rescue
|
9052
|
+
begin
|
9053
|
+
@driver.switch_to.default_content()
|
9054
|
+
sleep(1)
|
9055
|
+
@driver.find_element(:xpath, '//*[@name="spamCode"]').click
|
9056
|
+
sleep(1)
|
9057
|
+
|
9058
|
+
el2 = @driver.find_element(:xpath, '//*[@name="spamCode"]')
|
9059
|
+
@driver.action.context_click(el2).perform
|
9060
|
+
|
9061
|
+
sleep(1)
|
9062
|
+
@driver.action.key_stroke('up')
|
9063
|
+
sleep(1)
|
9064
|
+
@driver.action.key_stroke('up')
|
9065
|
+
sleep(1)
|
9066
|
+
@driver.action.key_stroke('enter')
|
9067
|
+
sleep(1)
|
9068
|
+
begin
|
9069
|
+
# 요소 찾기 타임아웃을 7초로 설정
|
9070
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
9071
|
+
#요소가 나타날 때까지 7초 동안 기다립니다.
|
9072
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
9073
|
+
rescue
|
9074
|
+
sleep(1)
|
9075
|
+
@driver.action.key_stroke('left')
|
9076
|
+
sleep(1)
|
9077
|
+
@driver.action.key_stroke('up')
|
9078
|
+
sleep(1)
|
9079
|
+
@driver.action.key_stroke('enter')
|
9080
|
+
sleep(1)
|
9081
|
+
# 요소 찾기 타임아웃을 7초로 설정
|
9082
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
9083
|
+
#요소가 나타날 때까지 7초 동안 기다립니다.
|
9084
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
9085
|
+
end
|
9086
|
+
puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
|
9087
|
+
sleep(1)
|
9088
|
+
rescue
|
9089
|
+
begin
|
9090
|
+
@driver.switch_to.default_content()
|
9091
|
+
sleep(1)
|
9092
|
+
@driver.find_element(:xpath, '//*[@for="spamCode"]').click
|
9093
|
+
sleep(1)
|
9094
|
+
|
9095
|
+
el2 = @driver.find_element(:xpath, '//*[@name="spamCode"]')
|
9096
|
+
@driver.action.context_click(el2).perform
|
9097
|
+
|
9098
|
+
sleep(1)
|
9099
|
+
@driver.action.key_stroke('up')
|
9100
|
+
sleep(1)
|
9101
|
+
@driver.action.key_stroke('up')
|
9102
|
+
sleep(1)
|
9103
|
+
@driver.action.key_stroke('enter')
|
9104
|
+
sleep(1)
|
9105
|
+
begin
|
9106
|
+
# 요소 찾기 타임아웃을 7초로 설정
|
9107
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
9108
|
+
#요소가 나타날 때까지 7초 동안 기다립니다.
|
9109
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
9110
|
+
rescue
|
9111
|
+
sleep(1)
|
9112
|
+
@driver.action.key_stroke('left')
|
9113
|
+
sleep(1)
|
9114
|
+
@driver.action.key_stroke('up')
|
9115
|
+
sleep(1)
|
9116
|
+
@driver.action.key_stroke('enter')
|
9117
|
+
sleep(1)
|
9118
|
+
# 요소 찾기 타임아웃을 7초로 설정
|
9119
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
9120
|
+
#요소가 나타날 때까지 7초 동안 기다립니다.
|
9121
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
9122
|
+
end
|
9123
|
+
puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
|
9124
|
+
sleep(1)
|
9125
|
+
rescue
|
9126
|
+
begin
|
9127
|
+
@driver.switch_to.default_content()
|
9128
|
+
sleep(1)
|
9129
|
+
@driver.find_element(:xpath, '//*[@name="autoWriteProtect"]').click
|
9130
|
+
sleep(1)
|
8933
9131
|
|
9132
|
+
el2 = @driver.find_element(:xpath, '//*[@name="autoWriteProtect"]')
|
9133
|
+
@driver.action.context_click(el2).perform
|
9134
|
+
|
9135
|
+
sleep(1)
|
9136
|
+
@driver.action.key_stroke('up')
|
9137
|
+
sleep(1)
|
9138
|
+
@driver.action.key_stroke('up')
|
9139
|
+
sleep(1)
|
9140
|
+
@driver.action.key_stroke('enter')
|
9141
|
+
sleep(1)
|
9142
|
+
begin
|
9143
|
+
# 요소 찾기 타임아웃을 7초로 설정
|
9144
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
9145
|
+
#요소가 나타날 때까지 7초 동안 기다립니다.
|
9146
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
9147
|
+
rescue
|
9148
|
+
sleep(1)
|
9149
|
+
@driver.action.key_stroke('left')
|
9150
|
+
sleep(1)
|
9151
|
+
@driver.action.key_stroke('up')
|
9152
|
+
sleep(1)
|
9153
|
+
@driver.action.key_stroke('enter')
|
9154
|
+
sleep(1)
|
9155
|
+
# 요소 찾기 타임아웃을 7초로 설정
|
9156
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
9157
|
+
#요소가 나타날 때까지 7초 동안 기다립니다.
|
9158
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
9159
|
+
end
|
9160
|
+
puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
|
9161
|
+
sleep(1)
|
9162
|
+
rescue
|
9163
|
+
|
9164
|
+
end
|
9165
|
+
end
|
9166
|
+
end
|
8934
9167
|
end
|
8935
9168
|
end
|
8936
9169
|
end
|
@@ -8951,7 +9184,6 @@ if check_captcha == 0
|
|
8951
9184
|
|
8952
9185
|
|
8953
9186
|
|
8954
|
-
|
8955
9187
|
sleep(1)
|
8956
9188
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
8957
9189
|
begin
|
@@ -9382,6 +9614,16 @@ rescue
|
|
9382
9614
|
sleep(5)
|
9383
9615
|
|
9384
9616
|
rescue
|
9617
|
+
begin
|
9618
|
+
ss_button = @driver.find_element(:xpath, '//img[contains(@src, "save")]')
|
9619
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
9620
|
+
sleep(1)
|
9621
|
+
|
9622
|
+
ss_button = @driver.find_element(:xpath, '//img[contains(@src, "save")]').click
|
9623
|
+
puts '-[√] 등록을 29번 코드로 시도하였습니다.......'.magenta
|
9624
|
+
sleep(5)
|
9625
|
+
|
9626
|
+
rescue
|
9385
9627
|
|
9386
9628
|
########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
|
9387
9629
|
begin
|
@@ -9541,23 +9783,33 @@ rescue
|
|
9541
9783
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
9542
9784
|
sleep(5)
|
9543
9785
|
|
9544
|
-
rescue
|
9545
|
-
|
9546
|
-
|
9547
|
-
|
9548
|
-
|
9549
|
-
|
9550
|
-
|
9551
|
-
|
9552
|
-
|
9553
|
-
|
9554
|
-
|
9786
|
+
rescue
|
9787
|
+
begin
|
9788
|
+
@driver.find_element(:xpath, '//*[@name="rg_title"]').send_keys()
|
9789
|
+
sleep(1)
|
9790
|
+
@driver.find_element(:xpath, '//*[@name="rg_title"]').click
|
9791
|
+
sleep(1)
|
9792
|
+
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
9793
|
+
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
9794
|
+
sleep(5)
|
9795
|
+
|
9796
|
+
rescue => e
|
9797
|
+
puts '-[√] 등록 실패.......'.red
|
9798
|
+
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
9799
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
9800
|
+
@driver.window_handles.each do |handle|
|
9801
|
+
@driver.switch_to.window(handle)
|
9802
|
+
begin
|
9803
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
9804
|
+
@driver.close
|
9805
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
9806
|
+
puts "크롬 브라우저 종료: #{e.message}"
|
9807
|
+
end
|
9555
9808
|
end
|
9556
|
-
|
9557
|
-
|
9558
|
-
|
9809
|
+
return 0
|
9810
|
+
@driver.quit
|
9811
|
+
end
|
9559
9812
|
end
|
9560
|
-
|
9561
9813
|
end
|
9562
9814
|
|
9563
9815
|
end
|
@@ -9578,7 +9830,7 @@ rescue
|
|
9578
9830
|
|
9579
9831
|
########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 2차 시도 ▲▲▲▲▲▲▲──────────────────────────────#######
|
9580
9832
|
|
9581
|
-
|
9833
|
+
end
|
9582
9834
|
end
|
9583
9835
|
end
|
9584
9836
|
end
|
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.79.789
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-04-
|
10
|
+
date: 2025-04-18 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: posting app
|
13
13
|
email: mymin26@naver.com
|