posting_duo 0.0.53 → 0.0.55
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_duo.rb +132 -156
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 403cc1c9f302e552c2772bc81b98772e8c2c11a24d7fd5eca84bf46b1c2300bd
|
4
|
+
data.tar.gz: b2c7435b2f35096c2f27951a2928f5a47137163aa14f8bb6cc056a640ed0a92a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7ca5b9f9ab4eef10cd295e6eb5ca7ad00a0f3a26bad4860fce2a166ddfce525bf21dd66867843f88dc0d6904f2984b1d5b971c010cf6247a596dd7948d9e71b
|
7
|
+
data.tar.gz: 6c55f54f915a3b945560bc29f48f79f138acd97c2a2cb55d6afb8986143432385a28965b33994a2e6af33b6cb940ea90833e80a464bf9332c232f75669b5cca9
|
data/lib/posting_duo.rb
CHANGED
@@ -227,7 +227,7 @@ begin
|
|
227
227
|
sleep(1)
|
228
228
|
|
229
229
|
begin
|
230
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
230
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
231
231
|
wait.until do
|
232
232
|
begin
|
233
233
|
alert = @driver.switch_to.alert
|
@@ -241,7 +241,7 @@ begin
|
|
241
241
|
puts "alert이 없으므로 버튼 클릭"
|
242
242
|
@driver.find_element(:xpath, '/html/body/div/div[1]/table/tbody/tr[1]/td[3]/button').click
|
243
243
|
begin
|
244
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
244
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
245
245
|
wait.until do
|
246
246
|
begin
|
247
247
|
alert = @driver.switch_to.alert
|
@@ -290,7 +290,7 @@ rescue
|
|
290
290
|
sleep(1)
|
291
291
|
|
292
292
|
begin
|
293
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
293
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
294
294
|
wait.until do
|
295
295
|
begin
|
296
296
|
alert = @driver.switch_to.alert
|
@@ -304,7 +304,7 @@ rescue
|
|
304
304
|
puts "alert이 없으므로 버튼 클릭"
|
305
305
|
@driver.find_element(:xpath, '/html/body/div/div[1]/table/tbody/tr[1]/td[3]/button').click
|
306
306
|
begin
|
307
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
307
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
308
308
|
wait.until do
|
309
309
|
begin
|
310
310
|
alert = @driver.switch_to.alert
|
@@ -371,24 +371,23 @@ sleep(2)
|
|
371
371
|
else
|
372
372
|
|
373
373
|
begin
|
374
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
375
|
-
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
374
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
|
375
|
+
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
376
376
|
@driver.get(signup_url)
|
377
377
|
sleep(1)
|
378
378
|
puts '-[√] 회원가입 페이지 URL 이동.......'.magenta
|
379
|
+
|
380
|
+
# Alert 처리 부분
|
379
381
|
begin
|
380
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
381
|
-
wait.until
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
rescue Selenium::WebDriver::Error::NoSuchAlertError
|
386
|
-
false
|
387
|
-
end
|
388
|
-
end
|
389
|
-
rescue Selenium::WebDriver::Error::TimeoutError
|
382
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
383
|
+
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
384
|
+
alert.accept # 알림을 확인
|
385
|
+
rescue
|
386
|
+
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
390
387
|
end
|
391
|
-
|
388
|
+
|
389
|
+
|
390
|
+
rescue Selenium::WebDriver::Error::UnknownError => e
|
392
391
|
puts "#{signup_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
|
393
392
|
# 열린 모든 창을 닫음
|
394
393
|
@driver.window_handles.each do |handle|
|
@@ -403,16 +402,15 @@ sleep(2)
|
|
403
402
|
# 드라이버 종료
|
404
403
|
@driver.quit if @driver
|
405
404
|
return 0
|
405
|
+
|
406
406
|
rescue Selenium::WebDriver::Error::TimeoutError => e
|
407
407
|
puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
|
408
408
|
@driver.quit if @driver
|
409
409
|
return 0
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
end
|
415
|
-
|
410
|
+
|
411
|
+
rescue
|
412
|
+
end
|
413
|
+
|
416
414
|
|
417
415
|
|
418
416
|
|
@@ -2552,17 +2550,14 @@ end
|
|
2552
2550
|
return 0
|
2553
2551
|
end
|
2554
2552
|
|
2553
|
+
|
2554
|
+
# Alert 처리 부분
|
2555
2555
|
begin
|
2556
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
2557
|
-
wait.until
|
2558
|
-
|
2559
|
-
|
2560
|
-
|
2561
|
-
rescue Selenium::WebDriver::Error::NoSuchAlertError
|
2562
|
-
false
|
2563
|
-
end
|
2564
|
-
end
|
2565
|
-
rescue Selenium::WebDriver::Error::TimeoutError
|
2556
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
2557
|
+
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
2558
|
+
alert.accept # 알림을 확인
|
2559
|
+
rescue
|
2560
|
+
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
2566
2561
|
end
|
2567
2562
|
|
2568
2563
|
|
@@ -2584,48 +2579,43 @@ login_url = option['login_url'].to_s
|
|
2584
2579
|
else
|
2585
2580
|
|
2586
2581
|
begin
|
2587
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
2588
|
-
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
2582
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
|
2583
|
+
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
2589
2584
|
@driver.get(login_url)
|
2590
2585
|
sleep(1)
|
2591
2586
|
puts '-[√] 로그인 페이지 URL 이동.......'.magenta
|
2587
|
+
# Alert 처리 부분
|
2592
2588
|
begin
|
2593
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
2594
|
-
wait.until
|
2595
|
-
|
2596
|
-
|
2597
|
-
|
2598
|
-
rescue Selenium::WebDriver::Error::NoSuchAlertError
|
2599
|
-
false
|
2600
|
-
end
|
2601
|
-
end
|
2602
|
-
rescue Selenium::WebDriver::Error::TimeoutError
|
2589
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
2590
|
+
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
2591
|
+
alert.accept # 알림을 확인
|
2592
|
+
rescue
|
2593
|
+
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
2603
2594
|
end
|
2604
2595
|
|
2605
|
-
|
2606
|
-
|
2607
|
-
|
2608
|
-
|
2609
|
-
|
2610
|
-
|
2611
|
-
|
2612
|
-
|
2613
|
-
|
2596
|
+
rescue Selenium::WebDriver::Error::UnknownError => e
|
2597
|
+
puts "#{login_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
|
2598
|
+
# 열린 모든 창을 닫음
|
2599
|
+
@driver.window_handles.each do |handle|
|
2600
|
+
@driver.switch_to.window(handle)
|
2601
|
+
begin
|
2602
|
+
@driver.close
|
2603
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
2604
|
+
puts "사이트 내부에 예외 발생: #{e.message}"
|
2605
|
+
end
|
2614
2606
|
end
|
2607
|
+
|
2608
|
+
# 드라이버 종료
|
2609
|
+
@driver.quit if @driver
|
2610
|
+
return 0
|
2611
|
+
|
2612
|
+
rescue Selenium::WebDriver::Error::TimeoutError => e
|
2613
|
+
puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
|
2614
|
+
@driver.quit if @driver
|
2615
|
+
return 0
|
2616
|
+
|
2617
|
+
rescue
|
2615
2618
|
end
|
2616
|
-
|
2617
|
-
# 드라이버 종료
|
2618
|
-
@driver.quit if @driver
|
2619
|
-
return 0
|
2620
|
-
rescue Selenium::WebDriver::Error::TimeoutError => e
|
2621
|
-
puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
|
2622
|
-
@driver.quit if @driver
|
2623
|
-
return 0
|
2624
|
-
rescue => e
|
2625
|
-
puts "사이트 내부에 알 수 없는 오류 발생: #{e.message}"
|
2626
|
-
@driver.quit if @driver
|
2627
|
-
return 0
|
2628
|
-
end
|
2629
2619
|
|
2630
2620
|
|
2631
2621
|
|
@@ -3759,17 +3749,14 @@ login_url = option['login_url'].to_s
|
|
3759
3749
|
end
|
3760
3750
|
end
|
3761
3751
|
##로그인 버튼 코드 부분─────────────────────────────────────────────────────────────────────<
|
3752
|
+
|
3753
|
+
# Alert 처리 부분
|
3762
3754
|
begin
|
3763
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
3764
|
-
wait.until
|
3765
|
-
|
3766
|
-
|
3767
|
-
|
3768
|
-
rescue Selenium::WebDriver::Error::NoSuchAlertError
|
3769
|
-
false
|
3770
|
-
end
|
3771
|
-
end
|
3772
|
-
rescue Selenium::WebDriver::Error::TimeoutError
|
3755
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
3756
|
+
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3757
|
+
alert.accept # 알림을 확인
|
3758
|
+
rescue
|
3759
|
+
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
3773
3760
|
end
|
3774
3761
|
|
3775
3762
|
end
|
@@ -3797,47 +3784,43 @@ begin
|
|
3797
3784
|
else
|
3798
3785
|
|
3799
3786
|
begin
|
3800
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
3801
|
-
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
3787
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
|
3788
|
+
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
3802
3789
|
@driver.get(cc_check_url)
|
3803
3790
|
sleep(1)
|
3804
3791
|
puts '-[√] 출석체크 페이지 URL 이동.......'.magenta
|
3792
|
+
# Alert 처리 부분
|
3805
3793
|
begin
|
3806
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
3807
|
-
wait.until
|
3808
|
-
|
3809
|
-
|
3810
|
-
|
3811
|
-
rescue Selenium::WebDriver::Error::NoSuchAlertError
|
3812
|
-
false
|
3813
|
-
end
|
3814
|
-
end
|
3815
|
-
rescue Selenium::WebDriver::Error::TimeoutError
|
3794
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
3795
|
+
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3796
|
+
alert.accept # 알림을 확인
|
3797
|
+
rescue
|
3798
|
+
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
3816
3799
|
end
|
3817
|
-
|
3818
|
-
|
3819
|
-
|
3820
|
-
|
3821
|
-
@driver.
|
3822
|
-
|
3823
|
-
|
3824
|
-
|
3825
|
-
|
3800
|
+
|
3801
|
+
rescue Selenium::WebDriver::Error::UnknownError => e
|
3802
|
+
puts "#{cc_check_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
|
3803
|
+
# 열린 모든 창을 닫음
|
3804
|
+
@driver.window_handles.each do |handle|
|
3805
|
+
@driver.switch_to.window(handle)
|
3806
|
+
begin
|
3807
|
+
@driver.close
|
3808
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
3809
|
+
puts "사이트 내부에 예외 발생: #{e.message}"
|
3810
|
+
end
|
3826
3811
|
end
|
3812
|
+
|
3813
|
+
# 드라이버 종료
|
3814
|
+
@driver.quit if @driver
|
3815
|
+
return 0
|
3816
|
+
|
3817
|
+
rescue Selenium::WebDriver::Error::TimeoutError => e
|
3818
|
+
puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
|
3819
|
+
@driver.quit if @driver
|
3820
|
+
return 0
|
3821
|
+
|
3822
|
+
rescue
|
3827
3823
|
end
|
3828
|
-
|
3829
|
-
# 드라이버 종료
|
3830
|
-
@driver.quit if @driver
|
3831
|
-
return 0
|
3832
|
-
rescue Selenium::WebDriver::Error::TimeoutError => e
|
3833
|
-
puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
|
3834
|
-
@driver.quit if @driver
|
3835
|
-
return 0
|
3836
|
-
rescue => e
|
3837
|
-
puts "사이트 내부에 알 수 없는 오류 발생: #{e.message}"
|
3838
|
-
@driver.quit if @driver
|
3839
|
-
return 0
|
3840
|
-
end
|
3841
3824
|
|
3842
3825
|
|
3843
3826
|
|
@@ -4018,17 +4001,14 @@ begin
|
|
4018
4001
|
end
|
4019
4002
|
|
4020
4003
|
##<─────────────────────────────────────────────────────────────────────출석 체크 입력 코드 부분
|
4021
|
-
|
4022
|
-
|
4023
|
-
|
4024
|
-
|
4025
|
-
|
4026
|
-
|
4027
|
-
|
4028
|
-
|
4029
|
-
end
|
4030
|
-
end
|
4031
|
-
rescue Selenium::WebDriver::Error::TimeoutError
|
4004
|
+
|
4005
|
+
# Alert 처리 부분
|
4006
|
+
begin
|
4007
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
4008
|
+
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
4009
|
+
alert.accept # 알림을 확인
|
4010
|
+
rescue
|
4011
|
+
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
4032
4012
|
end
|
4033
4013
|
|
4034
4014
|
|
@@ -4058,47 +4038,43 @@ post_url = option['post_url'].to_s
|
|
4058
4038
|
|
4059
4039
|
|
4060
4040
|
begin
|
4061
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
4062
|
-
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
4041
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
|
4042
|
+
wait.until { @driver.execute_script("return document.readyState") == "complete" }
|
4063
4043
|
@driver.get(post_url)
|
4064
4044
|
sleep(1)
|
4065
4045
|
puts '-[√] 글쓰기 페이지 URL 이동.......'.magenta
|
4046
|
+
# Alert 처리 부분
|
4066
4047
|
begin
|
4067
|
-
wait = Selenium::WebDriver::Wait.new(timeout
|
4068
|
-
wait.until
|
4069
|
-
|
4070
|
-
|
4071
|
-
|
4072
|
-
rescue Selenium::WebDriver::Error::NoSuchAlertError
|
4073
|
-
false
|
4074
|
-
end
|
4075
|
-
end
|
4076
|
-
rescue Selenium::WebDriver::Error::TimeoutError
|
4048
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
4049
|
+
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
4050
|
+
alert.accept # 알림을 확인
|
4051
|
+
rescue
|
4052
|
+
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
4077
4053
|
end
|
4078
|
-
|
4079
|
-
|
4080
|
-
|
4081
|
-
|
4082
|
-
@driver.
|
4083
|
-
|
4084
|
-
|
4085
|
-
|
4086
|
-
|
4054
|
+
|
4055
|
+
rescue Selenium::WebDriver::Error::UnknownError => e
|
4056
|
+
puts "#{post_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
|
4057
|
+
# 열린 모든 창을 닫음
|
4058
|
+
@driver.window_handles.each do |handle|
|
4059
|
+
@driver.switch_to.window(handle)
|
4060
|
+
begin
|
4061
|
+
@driver.close
|
4062
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
4063
|
+
puts "사이트 내부에 예외 발생: #{e.message}"
|
4064
|
+
end
|
4087
4065
|
end
|
4066
|
+
|
4067
|
+
# 드라이버 종료
|
4068
|
+
@driver.quit if @driver
|
4069
|
+
return 0
|
4070
|
+
|
4071
|
+
rescue Selenium::WebDriver::Error::TimeoutError => e
|
4072
|
+
puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
|
4073
|
+
@driver.quit if @driver
|
4074
|
+
return 0
|
4075
|
+
|
4076
|
+
rescue
|
4088
4077
|
end
|
4089
|
-
|
4090
|
-
# 드라이버 종료
|
4091
|
-
@driver.quit if @driver
|
4092
|
-
return 0
|
4093
|
-
rescue Selenium::WebDriver::Error::TimeoutError => e
|
4094
|
-
puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
|
4095
|
-
@driver.quit if @driver
|
4096
|
-
return 0
|
4097
|
-
rescue => e
|
4098
|
-
puts "사이트 내부에 알 수 없는 오류 발생: #{e.message}"
|
4099
|
-
@driver.quit if @driver
|
4100
|
-
return 0
|
4101
|
-
end
|
4102
4078
|
|
4103
4079
|
|
4104
4080
|
|