posting_duo 3.83.799 → 3.86.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/posting_duo.rb +402 -210
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b50f1f5cc1eb015231cf25e409184d5022d8812c7212ff2989e83a28e32123a3
4
- data.tar.gz: 429e33522e91628e13d2ed839f41c3d2f1ebc461584b3791fef191914240aab4
3
+ metadata.gz: 3e312d530ef275ae55d7c5ea0677ffdaf8062d6e0594c84d3533ec8491e99177
4
+ data.tar.gz: ee4a4cdde272b7f53219cce3750c8b9884b7bf02472cb0f3824895f1afa097e1
5
5
  SHA512:
6
- metadata.gz: 9fb6686edfae2a370be4cad16c1e2bd07687362f43567582d58851eab46f9f1ff011845e7f6c7b55de6d1358a7999e94de93252ae7dce60ac6caa770dba8bfdb
7
- data.tar.gz: d2f25bc7abfdc9fcc0c7003aca770794f7a829dba82e795e29a23ded5c0562c1ec073f94df62fd80de71169893eefcdc9944a1012e220cdb5942704754402a1b
6
+ metadata.gz: e4e03710be21caf8edff33bd69240be654cd4187085ec035ceb2064b359f99e3cb9cbfd4dc13a5d522d5eaaacd96d95044031f17b63f119f6e6131871e15644b
7
+ data.tar.gz: 513862c2154ee58c8359059d3091557cc25c2bd1c23844266f2fe5f090ea3e09b6804605afefd1149c9bac25db41adb58bd67316fded8647ef51518c27ad1061
data/lib/posting_duo.rb CHANGED
@@ -4370,12 +4370,21 @@ post_url = option['post_url'].to_s
4370
4370
  puts '-[√] 글쓰기 버튼 클릭 확인 code 4 타겟.......'.green
4371
4371
  sleep(3.7)
4372
4372
  rescue
4373
-
4373
+ begin
4374
+ el_post_btn = @driver.find_element(:xpath, '//*[@class="pro-btn _write"]')
4375
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", el_post_btn)
4376
+ sleep(1)
4377
+ @driver.find_element(:xpath, '//*[@class="pro-btn _write"]').click
4378
+ puts '-[√] 글쓰기 버튼 클릭 확인 code 5 타겟.......'.green
4379
+ sleep(3.7)
4380
+ rescue
4381
+
4382
+ end
4374
4383
  end
4375
4384
  end
4376
4385
  end
4377
4386
  end
4378
-
4387
+
4379
4388
  sleep(1)
4380
4389
  #오른쪽 마우스 해제 코드
4381
4390
  begin
@@ -4495,52 +4504,7 @@ post_url = option['post_url'].to_s
4495
4504
  end
4496
4505
  end
4497
4506
  rescue
4498
- begin
4499
- # 타임아웃을 3초로 설정
4500
- wait = Selenium::WebDriver::Wait.new(:timeout => 5)
4501
- # 요소가 나타날 때까지 30초 동안 기다립니다.
4502
- wait.until { @driver.find_element(:xpath, '//*[@data-state="ready"]') }
4503
- sleep(1)
4504
- @driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
4505
- puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
4506
- sleep(10)
4507
- begin
4508
- @driver.find_element(:xpath, '//*[@data-state="error"]').click
4509
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
4510
- puts '-[√] 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
4511
- @driver.window_handles.each do |handle|
4512
- @driver.switch_to.window(handle)
4513
- begin
4514
- # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
4515
- @driver.close
4516
- rescue Selenium::WebDriver::Error::WebDriverError => e
4517
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
4518
- end
4519
- end
4520
- return 0
4521
- @driver.quit
4522
- rescue
4523
- begin
4524
- # 타임아웃을 77초로 설정
4525
- wait = Selenium::WebDriver::Wait.new(:timeout => 150)
4526
- # 요소가 나타날 때까지 100초 동안 기다립니다.
4527
- wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
4528
- sleep(1)
4529
- @driver.find_element(:xpath, '//*[@data-state="solved"]').click
4530
- puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
4531
-
4532
- sleep(5)
4533
- rescue => e
4534
- puts '-[√] 캡챠 해제 실패(캡챠는 사람이 풀기에 간혹 실수로 실패가 될수있습니다.).......'.red
4535
- puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
4536
- puts e
4537
- @driver.close
4538
- return 0
4539
- end
4540
- end
4541
- rescue
4542
-
4543
- end
4507
+
4544
4508
  end
4545
4509
  end
4546
4510
  ##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
@@ -5605,7 +5569,13 @@ begin
5605
5569
  sleep(1)
5606
5570
  puts '-[√] 닉네임 25코드 타겟.......'.yellow
5607
5571
  rescue
5608
-
5572
+ begin
5573
+ @driver.find_element(xpath: '//*[@name="board_name"]').send_keys(user_id)
5574
+ sleep(1)
5575
+ puts '-[√] 닉네임 26코드 타겟.......'.yellow
5576
+ rescue
5577
+
5578
+ end
5609
5579
  end
5610
5580
  end
5611
5581
  end
@@ -5669,7 +5639,7 @@ begin
5669
5639
  puts '-[√] 패스워드 4코드 타겟.......'.yellow
5670
5640
  rescue
5671
5641
  begin
5672
- @driver.find_element(:xpath, '//*[@type="password"]').send_keys(user_pw)
5642
+ @driver.find_element(:xpath, '//*[@name="board_pass"]').send_keys(user_pw)
5673
5643
  sleep(1)
5674
5644
  puts '-[√] 패스워드 5코드 타겟.......'.yellow
5675
5645
  rescue
@@ -5743,7 +5713,13 @@ begin
5743
5713
  sleep(1)
5744
5714
  puts '-[√] 패스워드 19코드 타겟.......'.yellow
5745
5715
  rescue
5746
-
5716
+ begin
5717
+ @driver.find_element(:xpath, '//*[@type="password"]').send_keys(user_pw)
5718
+ sleep(1)
5719
+ puts '-[√] 패스워드 20코드 타겟.......'.yellow
5720
+ rescue
5721
+
5722
+ end
5747
5723
  end
5748
5724
  end
5749
5725
  end
@@ -5823,7 +5799,13 @@ begin
5823
5799
  @driver.find_element(:xpath, '//*[@name="b_mail"]').send_keys(more_txt1)
5824
5800
  sleep(1)
5825
5801
  rescue
5826
-
5802
+ begin
5803
+ @driver.find_element(:xpath, '//*[@name="board_email"]').send_keys(more_txt1)
5804
+ sleep(1)
5805
+ rescue
5806
+
5807
+
5808
+ end
5827
5809
 
5828
5810
  end
5829
5811
 
@@ -6510,22 +6492,28 @@ begin
6510
6492
  @driver.find_element(:xpath, '//*[@name="b_subject"]').send_keys(title)
6511
6493
  sleep(1)
6512
6494
  puts '-[√] 제목 code 44.......'.yellow
6513
- rescue => e
6514
- puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
6515
- puts '-[] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
6516
-
6517
- @driver.window_handles.each do |handle|
6518
- @driver.switch_to.window(handle)
6519
- begin
6520
- # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
6521
- @driver.close
6522
-
6523
- rescue Selenium::WebDriver::Error::WebDriverError => e
6524
- puts "크롬 브라우저 종료: #{e.message}"
6495
+ rescue
6496
+ begin
6497
+ @driver.find_element(:xpath, '//*[@name="board_subject"]').send_keys(title)
6498
+ sleep(1)
6499
+ puts '-[√] 제목 code 45.......'.yellow
6500
+ rescue => e
6501
+ puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
6502
+ puts '-[√] 다음 작업 준비 중으로 1~60 정도 기다려주세요.......'.red
6503
+
6504
+ @driver.window_handles.each do |handle|
6505
+ @driver.switch_to.window(handle)
6506
+ begin
6507
+ # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
6508
+ @driver.close
6509
+
6510
+ rescue Selenium::WebDriver::Error::WebDriverError => e
6511
+ puts "크롬 브라우저 종료: #{e.message}"
6512
+ end
6525
6513
  end
6526
- end
6527
- return 0
6528
- @driver.quit
6514
+ return 0
6515
+ @driver.quit
6516
+ end
6529
6517
  end
6530
6518
  end
6531
6519
  end
@@ -6857,7 +6845,16 @@ begin
6857
6845
  puts '-[√] HTML 코드 31 code.......'.yellow
6858
6846
  sleep(1)
6859
6847
  rescue
6860
-
6848
+ begin
6849
+ html_bb = @driver.find_element(:xpath, '//*[@name="use_html"]')
6850
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_bb)
6851
+ sleep(1)
6852
+ html_bb = @driver.find_element(:xpath, '//*[@name="use_html"]').click
6853
+ puts '-[√] HTML 코드 32 code.......'.yellow
6854
+ sleep(1)
6855
+ rescue
6856
+
6857
+ end
6861
6858
  end
6862
6859
  end
6863
6860
  end
@@ -6905,7 +6902,12 @@ begin
6905
6902
  @driver.switch_to.alert.accept
6906
6903
  sleep(1)
6907
6904
  rescue
6908
- sleep(1)
6905
+ begin
6906
+ @driver.find_element(:xpath, '//*[@class="confirm"]').click
6907
+ sleep(1)
6908
+ rescue
6909
+
6910
+ end
6909
6911
  end
6910
6912
 
6911
6913
 
@@ -7175,7 +7177,19 @@ rescue
7175
7177
  @driver.switch_to.default_content
7176
7178
  puts '내용 항목 코드 타겟 46.......'.red
7177
7179
  rescue
7178
-
7180
+ begin
7181
+ @driver.find_element(:xpath, '//*[@name="board_body"]').click
7182
+ sleep(1)
7183
+ puts '내용 항목 코드 타겟 47.......'.red
7184
+ rescue
7185
+ begin
7186
+ @driver.find_element(:xpath, '//textarea[@id="wr_content"]').click
7187
+ sleep(1)
7188
+ puts '내용 항목 코드 타겟 48.......'.red
7189
+ rescue
7190
+
7191
+ end
7192
+ end
7179
7193
  end
7180
7194
  end
7181
7195
  end
@@ -8308,6 +8322,24 @@ if check_captcha == 1
8308
8322
  rescue
8309
8323
 
8310
8324
  end
8325
+
8326
+ begin
8327
+ #2차 확인 버튼 있을시
8328
+ puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>>.......'.green
8329
+ button = @driver.find_element(:xpath, '//input[@type="button" and @id="captch_button" and @value="확인"]')
8330
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", button)
8331
+ sleep(2)
8332
+ @driver.execute_script("arguments[0].click();", button)
8333
+
8334
+ begin
8335
+ wait = Selenium::WebDriver::Wait.new(timeout: 3)
8336
+ wait.until { @driver.switch_to.alert }
8337
+ @driver.switch_to.alert.accept
8338
+ rescue
8339
+ end
8340
+ rescue
8341
+ end
8342
+
8311
8343
  else
8312
8344
  end
8313
8345
 
@@ -8670,7 +8702,74 @@ if check_captcha == 0
8670
8702
  puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
8671
8703
  rescue
8672
8704
 
8673
-
8705
+ begin
8706
+ @driver.switch_to.default_content()
8707
+ el = @driver.find_element(:xpath, '//img[contains(@src, "/captcha/images/image.php")]')
8708
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
8709
+ puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
8710
+ puts '-[√] 캡챠 코드 code 14.......'.red
8711
+ sleep(1)
8712
+ @driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
8713
+ sleep(1)
8714
+ mouse_move_percentage(0.3,0.02)
8715
+ sleep(0.5)
8716
+ left_click
8717
+ sleep(1)
8718
+ @driver.switch_to.window(@driver.window_handle) #핸들 주입
8719
+ @driver.action.context_click(el).perform #우 클릭
8720
+ sleep(1)
8721
+ @driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
8722
+ sleep(1)
8723
+ puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
8724
+ rescue
8725
+
8726
+ begin
8727
+ @driver.switch_to.default_content()
8728
+ el = @driver.find_element(:xpath, '//img[@id="protect_img"]')
8729
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
8730
+ puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
8731
+ puts '-[√] 캡챠 코드 code 14.......'.red
8732
+ sleep(1)
8733
+ @driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
8734
+ sleep(1)
8735
+ mouse_move_percentage(0.3,0.02)
8736
+ sleep(0.5)
8737
+ left_click
8738
+ sleep(1)
8739
+ @driver.switch_to.window(@driver.window_handle) #핸들 주입
8740
+ @driver.action.context_click(el).perform #우 클릭
8741
+ sleep(1)
8742
+ @driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
8743
+ sleep(1)
8744
+ puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
8745
+ rescue
8746
+ begin
8747
+ @driver.switch_to.default_content()
8748
+ el = @driver.find_element(:xpath, '//img[contains(@src, "/captcha/")]')
8749
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
8750
+ puts '-[√] 캡챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
8751
+ puts '-[√] 캡챠 코드 code 14.......'.red
8752
+ sleep(1)
8753
+ @driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
8754
+ sleep(1)
8755
+ mouse_move_percentage(0.3,0.02)
8756
+ sleep(0.5)
8757
+ left_click
8758
+ sleep(1)
8759
+ @driver.switch_to.window(@driver.window_handle) #핸들 주입
8760
+ @driver.action.context_click(el).perform #우 클릭
8761
+ sleep(1)
8762
+ @driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
8763
+ sleep(1)
8764
+ puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
8765
+ rescue
8766
+
8767
+
8768
+ end
8769
+
8770
+ end
8771
+
8772
+ end
8674
8773
  end
8675
8774
  end
8676
8775
 
@@ -9467,7 +9566,44 @@ if check_captcha == 0
9467
9566
  puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
9468
9567
  sleep(1)
9469
9568
  rescue
9470
-
9569
+ begin
9570
+ @driver.switch_to.default_content()
9571
+ sleep(1)
9572
+ @driver.find_element(:xpath, '//*[@id="spamcode_chk"]').click
9573
+ sleep(1)
9574
+ el2 = @driver.find_element(:xpath, '//*[@id="spamcode_chk"]')
9575
+ @driver.action.context_click(el2).perform
9576
+
9577
+ sleep(1)
9578
+ @driver.action.key_stroke('up')
9579
+ sleep(1)
9580
+ @driver.action.key_stroke('up')
9581
+ sleep(1)
9582
+ @driver.action.key_stroke('enter')
9583
+ sleep(1)
9584
+ begin
9585
+ # 요소 찾기 타임아웃을 7초로 설정
9586
+ wait = Selenium::WebDriver::Wait.new(:timeout => 7)
9587
+ #요소가 나타날 때까지 7초 동안 기다립니다.
9588
+ wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
9589
+ rescue
9590
+ sleep(1)
9591
+ @driver.action.key_stroke('left')
9592
+ sleep(1)
9593
+ @driver.action.key_stroke('up')
9594
+ sleep(1)
9595
+ @driver.action.key_stroke('enter')
9596
+ sleep(1)
9597
+ # 요소 찾기 타임아웃을 7초로 설정
9598
+ wait = Selenium::WebDriver::Wait.new(:timeout => 7)
9599
+ #요소가 나타날 때까지 7초 동안 기다립니다.
9600
+ wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
9601
+ end
9602
+ puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
9603
+ sleep(1)
9604
+ rescue
9605
+
9606
+ end
9471
9607
  end
9472
9608
  end
9473
9609
  end
@@ -9492,7 +9628,6 @@ if check_captcha == 0
9492
9628
 
9493
9629
 
9494
9630
 
9495
-
9496
9631
  sleep(1)
9497
9632
  ##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
9498
9633
  begin
@@ -9513,22 +9648,22 @@ el_ready = @driver.find_element(:xpath, '//*[@data-state="ready"]')
9513
9648
  sleep(1)
9514
9649
 
9515
9650
  puts '-[√] 캡챠 해제 진행 중 (약 30~60 초 소요됩니다).......'.green
9516
- begin
9517
- @driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
9518
- rescue
9519
9651
  begin
9520
- @driver.find_element(:xpath, '//*[@class="captcha-solver-image"]').click #캡챠우회버튼
9652
+ @driver.find_element(:xpath, '//*[@data-state="ready"]').click #캡챠우회버튼
9521
9653
  rescue
9522
9654
  begin
9523
- @driver.find_element(:xpath, '//*[@class="captcha-solver-info"]').click #캡챠우회버튼
9655
+ @driver.find_element(:xpath, '//*[@class="captcha-solver-image"]').click #캡챠우회버튼
9524
9656
  rescue
9525
9657
  begin
9526
- @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]').click #캡챠우회버튼
9658
+ @driver.find_element(:xpath, '//*[@class="captcha-solver-info"]').click #캡챠우회버튼
9527
9659
  rescue
9660
+ begin
9661
+ @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]').click #캡챠우회버튼
9662
+ rescue
9663
+ end
9528
9664
  end
9529
9665
  end
9530
9666
  end
9531
- end
9532
9667
 
9533
9668
 
9534
9669
  sleep(10)
@@ -9555,6 +9690,7 @@ sleep(10)
9555
9690
  sleep(1)
9556
9691
  @driver.find_element(:xpath, '//*[@data-state="solved"]').click
9557
9692
  puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다.......'.green
9693
+ puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>.......'.green
9558
9694
  sleep(5)
9559
9695
  begin
9560
9696
  @driver.find_element(:xpath, '//*[@name="user_captcha"]').click
@@ -9571,6 +9707,22 @@ sleep(10)
9571
9707
  sleep(1)
9572
9708
  @driver.action.key_down(:right).key_up(:right).perform
9573
9709
  rescue
9710
+ begin
9711
+ #2차 확인 버튼 있을시
9712
+ puts '-[√] 캡챠 해제 완료 → 이어서 진행 합니다>>>.......'.green
9713
+ button = @driver.find_element(:xpath, '//input[@type="button" and @id="captch_button" and @value="확인"]')
9714
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", button)
9715
+ sleep(2)
9716
+ @driver.execute_script("arguments[0].click();", button)
9717
+
9718
+ begin
9719
+ wait = Selenium::WebDriver::Wait.new(timeout: 3)
9720
+ wait.until { @driver.switch_to.alert }
9721
+ @driver.switch_to.alert.accept
9722
+ rescue
9723
+ end
9724
+ rescue
9725
+ end
9574
9726
  end
9575
9727
  end
9576
9728
  end
@@ -9582,6 +9734,12 @@ end
9582
9734
 
9583
9735
 
9584
9736
 
9737
+
9738
+
9739
+
9740
+
9741
+
9742
+
9585
9743
  else
9586
9744
  end
9587
9745
 
@@ -9993,210 +10151,254 @@ rescue
9993
10151
  sleep(5)
9994
10152
 
9995
10153
  rescue
9996
- ########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
9997
- begin
9998
- puts '-[√] 등록 버튼 코드 탐색에 실패하였습니다.......'.magenta
9999
- puts '-[√] 다른 방법으로 등록을 시도 합니다.......'.magenta
10000
-
10001
- sleep(1)
10002
- @driver.find_element(:xpath, '//*[@id="wr_subject"]').send_keys()
10003
- sleep(1)
10004
- @driver.find_element(:xpath, '//*[@id="wr_subject"]').click
10005
- sleep(1)
10006
- @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10007
- puts '-[√] 등록을 시도하였습니다.......'.magenta
10008
- sleep(5)
10009
- rescue
10010
- begin
10011
- @driver.find_element(:xpath, '//*[@fw-label="제목"]').send_keys()
10012
- sleep(1)
10013
- @driver.find_element(:xpath, '//*[@fw-label="제목"]').click
10014
- sleep(1)
10015
- @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10016
- puts '-[√] 등록을 시도하였습니다.......'.magenta
10017
- sleep(5)
10018
- rescue
10019
10154
  begin
10020
- @driver.find_element(:xpath, '//*[@name="subject"]').send_keys()
10155
+ ss_button = @driver.find_element(:xpath, '//input[@type="button" and @value="전송"]')
10156
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
10021
10157
  sleep(1)
10022
- @driver.find_element(:xpath, '//*[@name="subject"]').click
10023
- sleep(1)
10024
- @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10025
- puts '-[√] 등록을 시도하였습니다.......'.magenta
10158
+
10159
+ ss_button = @driver.find_element(:xpath, '//input[@type="button" and @value="전송"]').click
10160
+ puts '-[√] 등록을 36번 코드로 시도하였습니다.......'.magenta
10026
10161
  sleep(5)
10027
- rescue
10162
+
10163
+ rescue
10028
10164
  begin
10029
- @driver.find_element(:xpath, '//*[@name="title"]').send_keys()
10030
- sleep(1)
10031
- @driver.find_element(:xpath, '//*[@name="title"]').click
10165
+ ss_button = @driver.find_element(css: 'ul.bt_type li a.bt_type4_w_4')
10166
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
10032
10167
  sleep(1)
10033
- @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10034
- puts '-[√] 등록을 시도하였습니다.......'.magenta
10168
+
10169
+ ss_button = @driver.find_element(css: 'ul.bt_type li a.bt_type4_w_4').click
10170
+ puts '-[√] 등록을 36번 코드로 시도하였습니다.......'.magenta
10035
10171
  sleep(5)
10036
- rescue
10172
+
10173
+ rescue
10037
10174
  begin
10038
- @driver.find_element(:xpath, '//*[@id="wr_title"]').send_keys()
10175
+ ss_button = @driver.find_element(id: 'btn-write')
10176
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
10039
10177
  sleep(1)
10040
- @driver.find_element(:xpath, '//*[@id="wr_title"]').click
10041
- sleep(1)
10042
- @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10043
- puts '-[√] 등록을 시도하였습니다.......'.magenta
10178
+
10179
+ ss_button = @driver.find_element(id: 'btn-write').click
10180
+ puts '-[√] 등록을 37번 코드로 시도하였습니다.......'.magenta
10044
10181
  sleep(5)
10045
- rescue
10182
+
10183
+ rescue
10046
10184
  begin
10047
- @driver.find_element(:xpath, '//*[@id="title"]').send_keys()
10048
- sleep(1)
10049
- @driver.find_element(:xpath, '//*[@id="title"]').click
10185
+ ss_button = @driver.find_element(:xpath, '//img[contains(@src, "img/btn_confirm.gif")]')
10186
+ @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
10050
10187
  sleep(1)
10051
- @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10052
- puts '-[] 등록을 시도하였습니다.......'.magenta
10188
+
10189
+ ss_button = @driver.find_element(:xpath, '//img[contains(@src, "img/btn_confirm.gif")]').click
10190
+ puts '-[√] 등록을 38번 코드로 시도하였습니다.......'.magenta
10053
10191
  sleep(5)
10192
+
10193
+ rescue
10194
+ ########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
10195
+ begin
10196
+ puts '-[√] 등록 버튼 코드 탐색에 실패하였습니다.......'.magenta
10197
+ puts '-[√] 다른 방법으로 등록을 시도 합니다.......'.magenta
10198
+
10199
+ sleep(1)
10200
+ @driver.find_element(:xpath, '//*[@id="wr_subject"]').send_keys()
10201
+ sleep(1)
10202
+ @driver.find_element(:xpath, '//*[@id="wr_subject"]').click
10203
+ sleep(1)
10204
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10205
+ puts '-[√] 등록을 시도하였습니다.......'.magenta
10206
+ sleep(5)
10054
10207
  rescue
10055
10208
  begin
10056
- @driver.find_element(:xpath, '//*[@id="postTitle"]').send_keys()
10209
+ @driver.find_element(:xpath, '//*[@fw-label="제목"]').send_keys()
10057
10210
  sleep(1)
10058
- @driver.find_element(:xpath, '//*[@id="postTitle"]').click
10211
+ @driver.find_element(:xpath, '//*[@fw-label="제목"]').click
10059
10212
  sleep(1)
10060
10213
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10061
10214
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10062
10215
  sleep(5)
10063
10216
  rescue
10064
10217
  begin
10065
- @driver.find_element(:xpath, '//*[@title="input"]').send_keys()
10218
+ @driver.find_element(:xpath, '//*[@name="subject"]').send_keys()
10066
10219
  sleep(1)
10067
- @driver.find_element(:xpath, '//*[@title="input"]').click
10220
+ @driver.find_element(:xpath, '//*[@name="subject"]').click
10068
10221
  sleep(1)
10069
10222
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10070
10223
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10071
10224
  sleep(5)
10072
10225
  rescue
10073
10226
  begin
10074
- @driver.find_element(:xpath, '//*[@name="wr_subject"]').send_keys()
10227
+ @driver.find_element(:xpath, '//*[@name="title"]').send_keys()
10075
10228
  sleep(1)
10076
- @driver.find_element(:xpath, '//*[@name="wr_subject"]').click
10229
+ @driver.find_element(:xpath, '//*[@name="title"]').click
10077
10230
  sleep(1)
10078
10231
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10079
10232
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10080
10233
  sleep(5)
10081
10234
  rescue
10082
10235
  begin
10083
- @driver.find_element(:xpath, '//*[@name="post_title"]').send_keys()
10236
+ @driver.find_element(:xpath, '//*[@id="wr_title"]').send_keys()
10084
10237
  sleep(1)
10085
- @driver.find_element(:xpath, '//*[@name="post_title"]').click
10238
+ @driver.find_element(:xpath, '//*[@id="wr_title"]').click
10086
10239
  sleep(1)
10087
10240
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10088
10241
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10089
10242
  sleep(5)
10090
10243
  rescue
10091
10244
  begin
10092
- @driver.find_element(:xpath, '//*[@title="제목"]').send_keys()
10245
+ @driver.find_element(:xpath, '//*[@id="title"]').send_keys()
10093
10246
  sleep(1)
10094
- @driver.find_element(:xpath, '//*[@title="제목"]').click
10247
+ @driver.find_element(:xpath, '//*[@id="title"]').click
10095
10248
  sleep(1)
10096
10249
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10097
10250
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10098
10251
  sleep(5)
10099
10252
  rescue
10100
10253
  begin
10101
- @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').send_keys()
10254
+ @driver.find_element(:xpath, '//*[@id="postTitle"]').send_keys()
10102
10255
  sleep(1)
10103
- @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').click
10256
+ @driver.find_element(:xpath, '//*[@id="postTitle"]').click
10104
10257
  sleep(1)
10105
10258
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10106
10259
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10107
10260
  sleep(5)
10108
10261
  rescue
10109
10262
  begin
10110
- @driver.find_element(:xpath, '//*[@placeholder="제목"]').send_keys()
10263
+ @driver.find_element(:xpath, '//*[@title="input"]').send_keys()
10111
10264
  sleep(1)
10112
- @driver.find_element(:xpath, '//*[@placeholder="제목"]').click
10265
+ @driver.find_element(:xpath, '//*[@title="input"]').click
10113
10266
  sleep(1)
10114
10267
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10115
10268
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10116
10269
  sleep(5)
10117
10270
  rescue
10118
10271
  begin
10119
- @driver.find_element(:xpath, '//*[@hname="제목"]').send_keys()
10272
+ @driver.find_element(:xpath, '//*[@name="wr_subject"]').send_keys()
10120
10273
  sleep(1)
10121
- @driver.find_element(:xpath, '//*[@hname="제목"]').click
10274
+ @driver.find_element(:xpath, '//*[@name="wr_subject"]').click
10122
10275
  sleep(1)
10123
10276
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10124
10277
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10125
10278
  sleep(5)
10126
10279
  rescue
10127
10280
  begin
10128
- @driver.find_element(:xpath, '//*[@id="post_subject"]').send_keys()
10281
+ @driver.find_element(:xpath, '//*[@name="post_title"]').send_keys()
10129
10282
  sleep(1)
10130
- @driver.find_element(:xpath, '//*[@id="post_subject"]').click
10283
+ @driver.find_element(:xpath, '//*[@name="post_title"]').click
10131
10284
  sleep(1)
10132
10285
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10133
10286
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10134
10287
  sleep(5)
10135
10288
  rescue
10136
10289
  begin
10137
- @driver.find_element(:xpath, '//*[@id="search_bar"]').send_keys()
10290
+ @driver.find_element(:xpath, '//*[@title="제목"]').send_keys()
10138
10291
  sleep(1)
10139
- @driver.find_element(:xpath, '//*[@id="search_bar"]').click
10292
+ @driver.find_element(:xpath, '//*[@title="제목"]').click
10140
10293
  sleep(1)
10141
10294
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10142
10295
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10143
10296
  sleep(5)
10144
10297
  rescue
10145
10298
  begin
10146
- @driver.find_element(:xpath, '//*[@name="SUBJECT"]').send_keys()
10299
+ @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').send_keys()
10147
10300
  sleep(1)
10148
- @driver.find_element(:xpath, '//*[@name="SUBJECT"]').click
10301
+ @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').click
10149
10302
  sleep(1)
10150
10303
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10151
10304
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10152
10305
  sleep(5)
10153
-
10154
10306
  rescue
10155
10307
  begin
10156
- @driver.find_element(:xpath, '//*[@name="rg_title"]').send_keys()
10308
+ @driver.find_element(:xpath, '//*[@placeholder="제목"]').send_keys()
10157
10309
  sleep(1)
10158
- @driver.find_element(:xpath, '//*[@name="rg_title"]').click
10310
+ @driver.find_element(:xpath, '//*[@placeholder="제목"]').click
10159
10311
  sleep(1)
10160
10312
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10161
10313
  puts '-[√] 등록을 시도하였습니다.......'.magenta
10162
10314
  sleep(5)
10163
-
10164
- rescue => e
10165
- puts '-[] 등록 실패.......'.red
10166
- puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
10167
- puts '-[] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
10168
- @driver.window_handles.each do |handle|
10169
- @driver.switch_to.window(handle)
10315
+ rescue
10316
+ begin
10317
+ @driver.find_element(:xpath, '//*[@hname="제목"]').send_keys()
10318
+ sleep(1)
10319
+ @driver.find_element(:xpath, '//*[@hname="제목"]').click
10320
+ sleep(1)
10321
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10322
+ puts '-[√] 등록을 시도하였습니다.......'.magenta
10323
+ sleep(5)
10324
+ rescue
10170
10325
  begin
10171
- # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
10172
- @driver.close
10173
- rescue Selenium::WebDriver::Error::WebDriverError => e
10174
- puts "크롬 브라우저 종료: #{e.message}"
10175
- end
10176
- end
10177
- return 0
10178
- @driver.quit
10179
- end
10180
- end
10326
+ @driver.find_element(:xpath, '//*[@id="post_subject"]').send_keys()
10327
+ sleep(1)
10328
+ @driver.find_element(:xpath, '//*[@id="post_subject"]').click
10329
+ sleep(1)
10330
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10331
+ puts '-[√] 등록을 시도하였습니다.......'.magenta
10332
+ sleep(5)
10333
+ rescue
10334
+ begin
10335
+ @driver.find_element(:xpath, '//*[@id="search_bar"]').send_keys()
10336
+ sleep(1)
10337
+ @driver.find_element(:xpath, '//*[@id="search_bar"]').click
10338
+ sleep(1)
10339
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10340
+ puts '-[√] 등록을 시도하였습니다.......'.magenta
10341
+ sleep(5)
10342
+ rescue
10343
+ begin
10344
+ @driver.find_element(:xpath, '//*[@name="SUBJECT"]').send_keys()
10345
+ sleep(1)
10346
+ @driver.find_element(:xpath, '//*[@name="SUBJECT"]').click
10347
+ sleep(1)
10348
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10349
+ puts '-[√] 등록을 시도하였습니다.......'.magenta
10350
+ sleep(5)
10351
+
10352
+ rescue
10353
+ begin
10354
+ @driver.find_element(:xpath, '//*[@name="rg_title"]').send_keys()
10355
+ sleep(1)
10356
+ @driver.find_element(:xpath, '//*[@name="rg_title"]').click
10357
+ sleep(1)
10358
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
10359
+ puts '-[√] 등록을 시도하였습니다.......'.magenta
10360
+ sleep(5)
10361
+
10362
+ rescue => e
10363
+ puts '-[√] 등록 실패.......'.red
10364
+ puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
10365
+ puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
10366
+ @driver.window_handles.each do |handle|
10367
+ @driver.switch_to.window(handle)
10368
+ begin
10369
+ # 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
10370
+ @driver.close
10371
+ rescue Selenium::WebDriver::Error::WebDriverError => e
10372
+ puts "크롬 브라우저 종료: #{e.message}"
10373
+ end
10374
+ end
10375
+ return 0
10376
+ @driver.quit
10377
+ end
10378
+ end
10379
+ end
10380
+
10381
+ end
10382
+ end
10383
+ end
10384
+ end
10181
10385
  end
10182
-
10183
- end
10184
- end
10185
- end
10386
+ end
10387
+ end
10388
+ end
10186
10389
  end
10187
- end
10390
+ end
10188
10391
  end
10189
- end
10190
- end
10191
- end
10192
- end
10193
- end
10194
- end
10195
- end
10196
- end
10392
+ end
10393
+ end
10394
+ end
10395
+ end
10396
+ end
10397
+ ########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 2차 시도 ▲▲▲▲▲▲▲──────────────────────────────#######
10398
+ end
10399
+ end
10197
10400
  end
10198
10401
  end
10199
- ########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 2차 시도 ▲▲▲▲▲▲▲──────────────────────────────#######
10200
10402
  end
10201
10403
  end
10202
10404
  end
@@ -10231,41 +10433,25 @@ rescue
10231
10433
  end
10232
10434
  end
10233
10435
  end
10234
-
10235
- sleep(3)
10236
-
10436
+
10437
+
10237
10438
 
10238
-
10239
10439
 
10440
+
10441
+ begin
10442
+ wait = Selenium::WebDriver::Wait.new(timeout: 3)
10443
+ alert = wait.until { @driver.switch_to.alert }
10444
+ alert_text = alert.text # alert 메시지 저장
10445
+ alert.accept
10446
+ rescue
10447
+ end
10448
+ sleep(1)
10240
10449
  ########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 ▲▲▲▲▲▲▲──────────────────────────────#######
10241
10450
  ########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 ▲▲▲▲▲▲▲──────────────────────────────#######
10242
10451
 
10243
10452
  begin
10244
- @driver.switch_to.alert
10245
- sleep(1)
10246
- error_text = @driver.switch_to.alert.text
10247
- sleep(1)
10248
- @driver.switch_to.alert.accept
10249
- puts (error_text).red
10250
- puts '-[√] 등록 로그 파일 생성 완료.......'.yellow
10251
- File.open('./log/posting_log.txt', 'a') do |ff|
10252
- ff.write('[')
10253
- ff.write(DateTime.now.strftime("%Y년%m월%d일%H시%M분"))
10254
- ff.write(']')
10255
- ff.write(post_url)
10256
- ff.write('【등록실패내용:')
10257
- ff.write(error_text)
10258
- ff.write('】')
10259
- ff.write("\n")
10260
- ff.close()
10261
- puts '-[√] 로그 파일 생성 완료.......'.yellow
10262
- end
10263
-
10264
- rescue
10265
- #@driver.execute_script("document.body.style.zoom = '1.00'")
10266
10453
  sleep(3)
10267
10454
  posting_url = @driver.current_url
10268
-
10269
10455
  puts '-[√] 등록 로그 파일 생성 완료.......'.yellow
10270
10456
  File.open('./log/posting_log.txt', 'a') do |ff|
10271
10457
  ff.write('[')
@@ -10276,11 +10462,17 @@ rescue
10276
10462
  ff.write(user_pw)
10277
10463
  ff.write(',')
10278
10464
  ff.write(posting_url)
10465
+
10466
+ if alert_text # alert가 있었다면 텍스트도 기록
10467
+ ff.write(' ▶')
10468
+ ff.write("팝업내용: #{alert_text}")
10469
+ end
10470
+
10279
10471
  ff.write("\n")
10280
10472
  ff.close()
10281
10473
  puts '-[√] 로그 파일 생성 완료.......'.yellow
10282
10474
  end
10283
-
10475
+ rescue
10284
10476
  end
10285
10477
 
10286
10478
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: posting_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.83.799
4
+ version: 3.86.799
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-04-30 00:00:00.000000000 Z
10
+ date: 2025-05-09 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: File to Clipboard gem
13
13
  email: mymin26@naver.com