posting_zon 3.82.799 → 3.85.799
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 +186 -170
- 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: b4fe495450978a8eb94241dfa52a73eeffbf2f44b5692d62550797313b7a6c8a
|
4
|
+
data.tar.gz: 90c7cbe957a2588d862b9b6a778b56f9a10890f3193969bd789b2a4cb7ecc713
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b6e6c32c5d8b427afd2fa26c72ad000f458d9752ab192bb2adcb7bc94ef24c2aed6ea0763b0e547dd228f506b78b852c9b9ccb7aa22edb718c3bfa6f7b96c87
|
7
|
+
data.tar.gz: 26e6502a09311603e870ef53993483c82f7dff6fbf979e21b8853b60aac826952f92d4ec7ed540edf4d915356351e3024b318cc0333bc103d57cfdbec527cefa
|
data/lib/posting_zon.rb
CHANGED
@@ -15,7 +15,6 @@ require 'clipboard'
|
|
15
15
|
require 'crack'
|
16
16
|
require 'uri'
|
17
17
|
require 'cgi'
|
18
|
-
require 'digest'
|
19
18
|
require 'auto_click'
|
20
19
|
require 'rainbow/refinement'
|
21
20
|
require 'watir'
|
@@ -4496,52 +4495,7 @@ post_url = option['post_url'].to_s
|
|
4496
4495
|
end
|
4497
4496
|
end
|
4498
4497
|
rescue
|
4499
|
-
|
4500
|
-
# 타임아웃을 3초로 설정
|
4501
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
4502
|
-
# 요소가 나타날 때까지 30초 동안 기다립니다.
|
4503
|
-
wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
|
4504
|
-
sleep(1)
|
4505
|
-
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
4506
|
-
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
4507
|
-
sleep(10)
|
4508
|
-
begin
|
4509
|
-
@driver.find_element(:xpath, '//*[@data-state="error"]').click
|
4510
|
-
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
4511
|
-
puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
|
4512
|
-
@driver.window_handles.each do |handle|
|
4513
|
-
@driver.switch_to.window(handle)
|
4514
|
-
begin
|
4515
|
-
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
4516
|
-
@driver.close
|
4517
|
-
rescue Selenium::WebDriver::Error::WebDriverError => e
|
4518
|
-
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
4519
|
-
end
|
4520
|
-
end
|
4521
|
-
return 0
|
4522
|
-
@driver.quit
|
4523
|
-
rescue
|
4524
|
-
begin
|
4525
|
-
# 타임아웃을 77초로 설정
|
4526
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 150)
|
4527
|
-
# 요소가 나타날 때까지 100초 동안 기다립니다.
|
4528
|
-
wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
|
4529
|
-
sleep(1)
|
4530
|
-
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
4531
|
-
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
4532
|
-
|
4533
|
-
sleep(5)
|
4534
|
-
rescue => e
|
4535
|
-
puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
|
4536
|
-
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
4537
|
-
puts e
|
4538
|
-
@driver.close
|
4539
|
-
return 0
|
4540
|
-
end
|
4541
|
-
end
|
4542
|
-
rescue
|
4543
|
-
|
4544
|
-
end
|
4498
|
+
|
4545
4499
|
end
|
4546
4500
|
end
|
4547
4501
|
##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
|
@@ -8309,6 +8263,24 @@ if check_captcha == 1
|
|
8309
8263
|
rescue
|
8310
8264
|
|
8311
8265
|
end
|
8266
|
+
|
8267
|
+
begin
|
8268
|
+
#2차 확인 버튼 있을시
|
8269
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다111111.......'.green
|
8270
|
+
button = @driver.find_element(:xpath, '//input[@type="button" and @id="captch_button" and @value="확인"]')
|
8271
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", button)
|
8272
|
+
sleep(2)
|
8273
|
+
@driver.execute_script("arguments[0].click();", button)
|
8274
|
+
|
8275
|
+
begin
|
8276
|
+
wait = Selenium::WebDriver::Wait.new(timeout: 3)
|
8277
|
+
wait.until { @driver.switch_to.alert }
|
8278
|
+
@driver.switch_to.alert.accept
|
8279
|
+
rescue
|
8280
|
+
end
|
8281
|
+
rescue
|
8282
|
+
end
|
8283
|
+
|
8312
8284
|
else
|
8313
8285
|
end
|
8314
8286
|
|
@@ -8671,7 +8643,29 @@ if check_captcha == 0
|
|
8671
8643
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
8672
8644
|
rescue
|
8673
8645
|
|
8674
|
-
|
8646
|
+
begin
|
8647
|
+
@driver.switch_to.default_content()
|
8648
|
+
el = @driver.find_element(:xpath, '//img[contains(@src, "/captcha/images/image.php")]')
|
8649
|
+
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
8650
|
+
puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
8651
|
+
puts '-[√] 캡챠 코드 code 14.......'.red
|
8652
|
+
sleep(1)
|
8653
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
8654
|
+
sleep(1)
|
8655
|
+
mouse_move_percentage(0.3,0.02)
|
8656
|
+
sleep(0.5)
|
8657
|
+
left_click
|
8658
|
+
sleep(1)
|
8659
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
8660
|
+
@driver.action.context_click(el).perform #우 클릭
|
8661
|
+
sleep(1)
|
8662
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
8663
|
+
sleep(1)
|
8664
|
+
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
8665
|
+
rescue
|
8666
|
+
|
8667
|
+
|
8668
|
+
end
|
8675
8669
|
end
|
8676
8670
|
end
|
8677
8671
|
|
@@ -9493,7 +9487,6 @@ if check_captcha == 0
|
|
9493
9487
|
|
9494
9488
|
|
9495
9489
|
|
9496
|
-
|
9497
9490
|
sleep(1)
|
9498
9491
|
##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
9499
9492
|
begin
|
@@ -9514,22 +9507,22 @@ el_ready = @driver.find_element(:xpath, '//*[@data-state="ready"]')
|
|
9514
9507
|
sleep(1)
|
9515
9508
|
|
9516
9509
|
puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
|
9517
|
-
begin
|
9518
|
-
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
9519
|
-
rescue
|
9520
9510
|
begin
|
9521
|
-
@driver.find_element(:xpath, '//*[@
|
9511
|
+
@driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
|
9522
9512
|
rescue
|
9523
9513
|
begin
|
9524
|
-
@driver.find_element(:xpath, '//*[@class="captcha-solver-
|
9514
|
+
@driver.find_element(:xpath, '//*[@class="captcha-solver-image"]').click #캡챠우회버튼
|
9525
9515
|
rescue
|
9526
9516
|
begin
|
9527
|
-
@driver.find_element(:xpath, '//*[@class="captcha-solver
|
9517
|
+
@driver.find_element(:xpath, '//*[@class="captcha-solver-info"]').click #캡챠우회버튼
|
9528
9518
|
rescue
|
9519
|
+
begin
|
9520
|
+
@driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]').click #캡챠우회버튼
|
9521
|
+
rescue
|
9522
|
+
end
|
9529
9523
|
end
|
9530
9524
|
end
|
9531
9525
|
end
|
9532
|
-
end
|
9533
9526
|
|
9534
9527
|
|
9535
9528
|
sleep(10)
|
@@ -9556,6 +9549,7 @@ sleep(10)
|
|
9556
9549
|
sleep(1)
|
9557
9550
|
@driver.find_element(:xpath, '//*[@data-state="solved"]').click
|
9558
9551
|
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
|
9552
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다111.......'.green
|
9559
9553
|
sleep(5)
|
9560
9554
|
begin
|
9561
9555
|
@driver.find_element(:xpath, '//*[@name="user_captcha"]').click
|
@@ -9572,6 +9566,22 @@ sleep(10)
|
|
9572
9566
|
sleep(1)
|
9573
9567
|
@driver.action.key_down(:right).key_up(:right).perform
|
9574
9568
|
rescue
|
9569
|
+
begin
|
9570
|
+
#2차 확인 버튼 있을시
|
9571
|
+
puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다111111.......'.green
|
9572
|
+
button = @driver.find_element(:xpath, '//input[@type="button" and @id="captch_button" and @value="확인"]')
|
9573
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", button)
|
9574
|
+
sleep(2)
|
9575
|
+
@driver.execute_script("arguments[0].click();", button)
|
9576
|
+
|
9577
|
+
begin
|
9578
|
+
wait = Selenium::WebDriver::Wait.new(timeout: 3)
|
9579
|
+
wait.until { @driver.switch_to.alert }
|
9580
|
+
@driver.switch_to.alert.accept
|
9581
|
+
rescue
|
9582
|
+
end
|
9583
|
+
rescue
|
9584
|
+
end
|
9575
9585
|
end
|
9576
9586
|
end
|
9577
9587
|
end
|
@@ -9583,6 +9593,12 @@ end
|
|
9583
9593
|
|
9584
9594
|
|
9585
9595
|
|
9596
|
+
|
9597
|
+
|
9598
|
+
|
9599
|
+
|
9600
|
+
|
9601
|
+
|
9586
9602
|
else
|
9587
9603
|
end
|
9588
9604
|
|
@@ -9994,210 +10010,221 @@ rescue
|
|
9994
10010
|
sleep(5)
|
9995
10011
|
|
9996
10012
|
rescue
|
9997
|
-
|
9998
|
-
|
9999
|
-
|
10000
|
-
|
10001
|
-
|
10002
|
-
|
10003
|
-
|
10004
|
-
|
10005
|
-
|
10006
|
-
|
10007
|
-
|
10008
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10009
|
-
sleep(5)
|
10010
|
-
rescue
|
10013
|
+
begin
|
10014
|
+
ss_button = @driver.find_element(:xpath, '//input[@type="button" and @value="전송"]')
|
10015
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
10016
|
+
sleep(1)
|
10017
|
+
|
10018
|
+
ss_button = @driver.find_element(:xpath, '//input[@type="button" and @value="전송"]').click
|
10019
|
+
puts '-[√] 등록을 36번 코드로 시도하였습니다.......'.magenta
|
10020
|
+
sleep(5)
|
10021
|
+
|
10022
|
+
rescue
|
10023
|
+
########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
|
10011
10024
|
begin
|
10012
|
-
|
10025
|
+
puts '-[√] 등록 버튼 코드 탐색에 실패하였습니다.......'.magenta
|
10026
|
+
puts '-[√] 다른 방법으로 등록을 시도 합니다.......'.magenta
|
10027
|
+
|
10013
10028
|
sleep(1)
|
10014
|
-
@driver.find_element(:xpath, '//*[@
|
10029
|
+
@driver.find_element(:xpath, '//*[@id="wr_subject"]').send_keys()
|
10030
|
+
sleep(1)
|
10031
|
+
@driver.find_element(:xpath, '//*[@id="wr_subject"]').click
|
10015
10032
|
sleep(1)
|
10016
10033
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10017
10034
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10018
10035
|
sleep(5)
|
10019
|
-
rescue
|
10020
|
-
begin
|
10021
|
-
@driver.find_element(:xpath, '//*[@name="subject"]').send_keys()
|
10022
|
-
sleep(1)
|
10023
|
-
@driver.find_element(:xpath, '//*[@name="subject"]').click
|
10024
|
-
sleep(1)
|
10025
|
-
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10026
|
-
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10027
|
-
sleep(5)
|
10028
10036
|
rescue
|
10029
10037
|
begin
|
10030
|
-
@driver.find_element(:xpath, '//*[@
|
10038
|
+
@driver.find_element(:xpath, '//*[@fw-label="제목"]').send_keys()
|
10031
10039
|
sleep(1)
|
10032
|
-
@driver.find_element(:xpath, '//*[@
|
10040
|
+
@driver.find_element(:xpath, '//*[@fw-label="제목"]').click
|
10033
10041
|
sleep(1)
|
10034
10042
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10035
10043
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10036
10044
|
sleep(5)
|
10037
10045
|
rescue
|
10038
10046
|
begin
|
10039
|
-
@driver.find_element(:xpath, '//*[@
|
10047
|
+
@driver.find_element(:xpath, '//*[@name="subject"]').send_keys()
|
10040
10048
|
sleep(1)
|
10041
|
-
@driver.find_element(:xpath, '//*[@
|
10049
|
+
@driver.find_element(:xpath, '//*[@name="subject"]').click
|
10042
10050
|
sleep(1)
|
10043
10051
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10044
10052
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10045
10053
|
sleep(5)
|
10046
10054
|
rescue
|
10047
10055
|
begin
|
10048
|
-
@driver.find_element(:xpath, '//*[@
|
10056
|
+
@driver.find_element(:xpath, '//*[@name="title"]').send_keys()
|
10049
10057
|
sleep(1)
|
10050
|
-
@driver.find_element(:xpath, '//*[@
|
10058
|
+
@driver.find_element(:xpath, '//*[@name="title"]').click
|
10051
10059
|
sleep(1)
|
10052
10060
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10053
10061
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10054
10062
|
sleep(5)
|
10055
10063
|
rescue
|
10056
10064
|
begin
|
10057
|
-
@driver.find_element(:xpath, '//*[@id="
|
10065
|
+
@driver.find_element(:xpath, '//*[@id="wr_title"]').send_keys()
|
10058
10066
|
sleep(1)
|
10059
|
-
@driver.find_element(:xpath, '//*[@id="
|
10067
|
+
@driver.find_element(:xpath, '//*[@id="wr_title"]').click
|
10060
10068
|
sleep(1)
|
10061
10069
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10062
10070
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10063
10071
|
sleep(5)
|
10064
10072
|
rescue
|
10065
10073
|
begin
|
10066
|
-
@driver.find_element(:xpath, '//*[@
|
10074
|
+
@driver.find_element(:xpath, '//*[@id="title"]').send_keys()
|
10067
10075
|
sleep(1)
|
10068
|
-
@driver.find_element(:xpath, '//*[@
|
10076
|
+
@driver.find_element(:xpath, '//*[@id="title"]').click
|
10069
10077
|
sleep(1)
|
10070
10078
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10071
10079
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10072
10080
|
sleep(5)
|
10073
10081
|
rescue
|
10074
10082
|
begin
|
10075
|
-
@driver.find_element(:xpath, '//*[@
|
10083
|
+
@driver.find_element(:xpath, '//*[@id="postTitle"]').send_keys()
|
10076
10084
|
sleep(1)
|
10077
|
-
@driver.find_element(:xpath, '//*[@
|
10085
|
+
@driver.find_element(:xpath, '//*[@id="postTitle"]').click
|
10078
10086
|
sleep(1)
|
10079
10087
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10080
10088
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10081
10089
|
sleep(5)
|
10082
10090
|
rescue
|
10083
10091
|
begin
|
10084
|
-
@driver.find_element(:xpath, '//*[@
|
10092
|
+
@driver.find_element(:xpath, '//*[@title="input"]').send_keys()
|
10085
10093
|
sleep(1)
|
10086
|
-
@driver.find_element(:xpath, '//*[@
|
10094
|
+
@driver.find_element(:xpath, '//*[@title="input"]').click
|
10087
10095
|
sleep(1)
|
10088
10096
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10089
10097
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10090
10098
|
sleep(5)
|
10091
10099
|
rescue
|
10092
10100
|
begin
|
10093
|
-
@driver.find_element(:xpath, '//*[@
|
10101
|
+
@driver.find_element(:xpath, '//*[@name="wr_subject"]').send_keys()
|
10094
10102
|
sleep(1)
|
10095
|
-
@driver.find_element(:xpath, '//*[@
|
10103
|
+
@driver.find_element(:xpath, '//*[@name="wr_subject"]').click
|
10096
10104
|
sleep(1)
|
10097
10105
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10098
10106
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10099
10107
|
sleep(5)
|
10100
10108
|
rescue
|
10101
10109
|
begin
|
10102
|
-
@driver.find_element(:xpath, '//*[@
|
10110
|
+
@driver.find_element(:xpath, '//*[@name="post_title"]').send_keys()
|
10103
10111
|
sleep(1)
|
10104
|
-
@driver.find_element(:xpath, '//*[@
|
10112
|
+
@driver.find_element(:xpath, '//*[@name="post_title"]').click
|
10105
10113
|
sleep(1)
|
10106
10114
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10107
10115
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10108
10116
|
sleep(5)
|
10109
10117
|
rescue
|
10110
10118
|
begin
|
10111
|
-
@driver.find_element(:xpath, '//*[@
|
10119
|
+
@driver.find_element(:xpath, '//*[@title="제목"]').send_keys()
|
10112
10120
|
sleep(1)
|
10113
|
-
@driver.find_element(:xpath, '//*[@
|
10121
|
+
@driver.find_element(:xpath, '//*[@title="제목"]').click
|
10114
10122
|
sleep(1)
|
10115
10123
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10116
10124
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10117
10125
|
sleep(5)
|
10118
10126
|
rescue
|
10119
10127
|
begin
|
10120
|
-
@driver.find_element(:xpath, '//*[@
|
10128
|
+
@driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').send_keys()
|
10121
10129
|
sleep(1)
|
10122
|
-
@driver.find_element(:xpath, '//*[@
|
10130
|
+
@driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').click
|
10123
10131
|
sleep(1)
|
10124
10132
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10125
10133
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10126
10134
|
sleep(5)
|
10127
10135
|
rescue
|
10128
10136
|
begin
|
10129
|
-
@driver.find_element(:xpath, '//*[@
|
10137
|
+
@driver.find_element(:xpath, '//*[@placeholder="제목"]').send_keys()
|
10130
10138
|
sleep(1)
|
10131
|
-
@driver.find_element(:xpath, '//*[@
|
10139
|
+
@driver.find_element(:xpath, '//*[@placeholder="제목"]').click
|
10132
10140
|
sleep(1)
|
10133
10141
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10134
10142
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10135
10143
|
sleep(5)
|
10136
10144
|
rescue
|
10137
10145
|
begin
|
10138
|
-
@driver.find_element(:xpath, '//*[@
|
10146
|
+
@driver.find_element(:xpath, '//*[@hname="제목"]').send_keys()
|
10139
10147
|
sleep(1)
|
10140
|
-
@driver.find_element(:xpath, '//*[@
|
10148
|
+
@driver.find_element(:xpath, '//*[@hname="제목"]').click
|
10141
10149
|
sleep(1)
|
10142
10150
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10143
10151
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10144
10152
|
sleep(5)
|
10145
10153
|
rescue
|
10146
10154
|
begin
|
10147
|
-
@driver.find_element(:xpath, '//*[@
|
10155
|
+
@driver.find_element(:xpath, '//*[@id="post_subject"]').send_keys()
|
10148
10156
|
sleep(1)
|
10149
|
-
@driver.find_element(:xpath, '//*[@
|
10157
|
+
@driver.find_element(:xpath, '//*[@id="post_subject"]').click
|
10150
10158
|
sleep(1)
|
10151
10159
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10152
10160
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10153
10161
|
sleep(5)
|
10154
|
-
|
10155
10162
|
rescue
|
10156
10163
|
begin
|
10157
|
-
@driver.find_element(:xpath, '//*[@
|
10164
|
+
@driver.find_element(:xpath, '//*[@id="search_bar"]').send_keys()
|
10158
10165
|
sleep(1)
|
10159
|
-
@driver.find_element(:xpath, '//*[@
|
10166
|
+
@driver.find_element(:xpath, '//*[@id="search_bar"]').click
|
10160
10167
|
sleep(1)
|
10161
10168
|
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10162
10169
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10163
10170
|
sleep(5)
|
10164
|
-
|
10165
|
-
|
10166
|
-
|
10167
|
-
|
10168
|
-
|
10169
|
-
|
10170
|
-
@driver.
|
10171
|
+
rescue
|
10172
|
+
begin
|
10173
|
+
@driver.find_element(:xpath, '//*[@name="SUBJECT"]').send_keys()
|
10174
|
+
sleep(1)
|
10175
|
+
@driver.find_element(:xpath, '//*[@name="SUBJECT"]').click
|
10176
|
+
sleep(1)
|
10177
|
+
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10178
|
+
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10179
|
+
sleep(5)
|
10180
|
+
|
10181
|
+
rescue
|
10171
10182
|
begin
|
10172
|
-
|
10173
|
-
|
10174
|
-
|
10175
|
-
|
10176
|
-
|
10177
|
-
|
10178
|
-
|
10179
|
-
|
10180
|
-
|
10181
|
-
|
10183
|
+
@driver.find_element(:xpath, '//*[@name="rg_title"]').send_keys()
|
10184
|
+
sleep(1)
|
10185
|
+
@driver.find_element(:xpath, '//*[@name="rg_title"]').click
|
10186
|
+
sleep(1)
|
10187
|
+
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
10188
|
+
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
10189
|
+
sleep(5)
|
10190
|
+
|
10191
|
+
rescue => e
|
10192
|
+
puts '-[√] 등록 실패.......'.red
|
10193
|
+
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
10194
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
10195
|
+
@driver.window_handles.each do |handle|
|
10196
|
+
@driver.switch_to.window(handle)
|
10197
|
+
begin
|
10198
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
10199
|
+
@driver.close
|
10200
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
10201
|
+
puts "크롬 브라우저 종료: #{e.message}"
|
10202
|
+
end
|
10203
|
+
end
|
10204
|
+
return 0
|
10205
|
+
@driver.quit
|
10206
|
+
end
|
10207
|
+
end
|
10208
|
+
end
|
10209
|
+
|
10210
|
+
end
|
10182
10211
|
end
|
10183
|
-
|
10184
10212
|
end
|
10185
10213
|
end
|
10186
10214
|
end
|
10187
|
-
end
|
10188
|
-
end
|
10189
|
-
end
|
10190
|
-
end
|
10191
|
-
end
|
10192
|
-
end
|
10193
|
-
end
|
10194
|
-
end
|
10195
|
-
end
|
10196
|
-
end
|
10197
|
-
end
|
10198
|
-
|
10215
|
+
end
|
10216
|
+
end
|
10217
|
+
end
|
10218
|
+
end
|
10219
|
+
end
|
10220
|
+
end
|
10221
|
+
end
|
10222
|
+
end
|
10223
|
+
end
|
10224
|
+
end
|
10225
|
+
end
|
10226
|
+
########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 2차 시도 ▲▲▲▲▲▲▲──────────────────────────────#######
|
10199
10227
|
end
|
10200
|
-
########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 2차 시도 ▲▲▲▲▲▲▲──────────────────────────────#######
|
10201
10228
|
end
|
10202
10229
|
end
|
10203
10230
|
end
|
@@ -10233,40 +10260,23 @@ rescue
|
|
10233
10260
|
end
|
10234
10261
|
end
|
10235
10262
|
|
10236
|
-
sleep(3)
|
10237
|
-
|
10238
10263
|
|
10239
|
-
|
10240
10264
|
|
10265
|
+
|
10266
|
+
begin
|
10267
|
+
wait = Selenium::WebDriver::Wait.new(timeout: 3)
|
10268
|
+
alert = wait.until { @driver.switch_to.alert }
|
10269
|
+
alert_text = alert.text # alert 메시지 저장
|
10270
|
+
alert.accept
|
10271
|
+
rescue
|
10272
|
+
end
|
10273
|
+
sleep(1)
|
10241
10274
|
########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 ▲▲▲▲▲▲▲──────────────────────────────#######
|
10242
10275
|
########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 ▲▲▲▲▲▲▲──────────────────────────────#######
|
10243
10276
|
|
10244
10277
|
begin
|
10245
|
-
@driver.switch_to.alert
|
10246
|
-
sleep(1)
|
10247
|
-
error_text = @driver.switch_to.alert.text
|
10248
|
-
sleep(1)
|
10249
|
-
@driver.switch_to.alert.accept
|
10250
|
-
puts (error_text).red
|
10251
|
-
puts '-[√] 등록 로그 파일 생성 완료.......'.yellow
|
10252
|
-
File.open('./log/posting_log.txt', 'a') do |ff|
|
10253
|
-
ff.write('[')
|
10254
|
-
ff.write(DateTime.now.strftime("%Y년%m월%d일%H시%M분"))
|
10255
|
-
ff.write(']')
|
10256
|
-
ff.write(post_url)
|
10257
|
-
ff.write('【등록실패내용:')
|
10258
|
-
ff.write(error_text)
|
10259
|
-
ff.write('】')
|
10260
|
-
ff.write("\n")
|
10261
|
-
ff.close()
|
10262
|
-
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
10263
|
-
end
|
10264
|
-
|
10265
|
-
rescue
|
10266
|
-
#@driver.execute_script("document.body.style.zoom = '1.00'")
|
10267
10278
|
sleep(3)
|
10268
10279
|
posting_url = @driver.current_url
|
10269
|
-
|
10270
10280
|
puts '-[√] 등록 로그 파일 생성 완료.......'.yellow
|
10271
10281
|
File.open('./log/posting_log.txt', 'a') do |ff|
|
10272
10282
|
ff.write('[')
|
@@ -10277,11 +10287,17 @@ rescue
|
|
10277
10287
|
ff.write(user_pw)
|
10278
10288
|
ff.write(',')
|
10279
10289
|
ff.write(posting_url)
|
10290
|
+
|
10291
|
+
if alert_text # alert가 있었다면 텍스트도 기록
|
10292
|
+
ff.write(' ▶')
|
10293
|
+
ff.write("팝업내용: #{alert_text}")
|
10294
|
+
end
|
10295
|
+
|
10280
10296
|
ff.write("\n")
|
10281
10297
|
ff.close()
|
10282
10298
|
puts '-[√] 로그 파일 생성 완료.......'.yellow
|
10283
10299
|
end
|
10284
|
-
|
10300
|
+
rescue
|
10285
10301
|
end
|
10286
10302
|
|
10287
10303
|
|
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.85.799
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-05-01 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: posting app
|
13
13
|
email: mymin26@naver.com
|