cafe_basics 0.0.27 → 0.0.30

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/cafe_basics.rb +97 -26
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4a90bc3be99e284827c28dd01d082dc0fe1091b917ab400b9ee12e5a846ba7c
4
- data.tar.gz: '0609c3a6d915732add3b5bbec14086ad333f5af2f70be90edeb487681156a828'
3
+ metadata.gz: b708f080c9150f084831a31e1a4e5db79da52674dd854f076625f7f78c18f22d
4
+ data.tar.gz: da2ac58b60ada62e1cb390ddfaa47ba8572221802eb9195f09123e5e41e4d59f
5
5
  SHA512:
6
- metadata.gz: 22027d2758f2ddd332d60b1bc26e89e2636e83079ddc96386a71a894159cd6f00abf227d414984d6a7660a6f80ef17b1b44bf08f6461e597a4fce5076db34b6d
7
- data.tar.gz: 442449406bfbaf0a4174511523745445d2a12e7bb88db7f42b659726cc317815a3182add9b205ca09ea655cb6e539438a6f4a650646a4de3b61dc3406bd46038
6
+ metadata.gz: 99c14b3415ceb8c3f58870e7283df636e6e1776b8c1c70db84f136a087c4cfbc54c03cb5e0baf274b402b85b73e5e33f26bef00156916fe83c8cb0d03bfc8288
7
+ data.tar.gz: deac9b4801c263e4e2bcb59745d2ba90c90dc52c1ec79cf04180e5573fe63184f1eaf6403b3e44d6409d57677d9bb05a9ae31c1c503f968264a0d394763e398a
data/lib/cafe_basics.rb CHANGED
@@ -730,10 +730,18 @@ class Naver
730
730
  if i2.to_s.include?('<img')
731
731
  path = i2.to_s.split('src="')[1].split('"')[0]
732
732
  path = URI.decode_www_form(path)[0][0]
733
+
734
+ @driver.execute_script(<<~JS)
735
+ window.URL.createObjectURL = function() {};
736
+ HTMLInputElement.prototype.click = function() {
737
+ console.log("File dialog suppressed");
738
+ };
739
+ JS
740
+ sleep(1)
733
741
  # 이미지 등록 버튼 클릭
734
742
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/header/div[1]/ul/li[1]/button').click
735
743
  sleep(3)
736
- key_stroke('escape')
744
+ #key_stroke('escape')
737
745
 
738
746
  # 파일 경로 변환 (슬래시 -> 백슬래시)
739
747
  file_path = path.split('/').join("\\") # 윈도우 스타일 경로로 변환
@@ -744,9 +752,43 @@ class Naver
744
752
  # send_keys로 파일 경로를 직접 입력하여 파일 업로드
745
753
  file_input.send_keys(file_path)
746
754
  sleep(3)
747
-
748
755
 
749
-
756
+ @driver.action.key_down(:up).key_up(:up).perform
757
+ sleep(1)
758
+
759
+ begin
760
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3)
761
+ #요소가 나타날 때까지 60초 동안 기다립니다.
762
+ wait.until { @driver.find_element(:xpath, '//li[@class="se-toolbar-item se-toolbar-item-resizing"]//button[@data-name="image-resizing"]') }
763
+ sleep(1)
764
+ @driver.find_element(:xpath, '//li[@class="se-toolbar-item se-toolbar-item-resizing"]//button[@data-name="image-resizing"]').click
765
+
766
+ sleep(1)
767
+ begin
768
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3)
769
+ #요소가 나타날 때까지 60초 동안 기다립니다.
770
+ wait.until { @driver.find_element(:xpath, '//li[@class="se-toolbar-item se-toolbar-item-resizing"]//div[@class="se-custom-layer-option se-custom-layer-option-resizing"]//div[@class="se-custom-layer-resizing-option-group"]//button[@class="se-custom-layer-resizing-reset-button"]') }
771
+ sleep(1)
772
+ @driver.find_element(:xpath, '//li[@class="se-toolbar-item se-toolbar-item-resizing"]//div[@class="se-custom-layer-option se-custom-layer-option-resizing"]//div[@class="se-custom-layer-resizing-option-group"]//button[@class="se-custom-layer-resizing-reset-button"]').click
773
+ sleep(1)
774
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
775
+ sleep(1)
776
+ rescue
777
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3)
778
+ #요소가 나타날 때까지 60초 동안 기다립니다.
779
+ wait.until { @driver.find_element(:xpath, '//li[@class="se-toolbar-item se-toolbar-item-resizing"]//div[@class="se-custom-layer-option se-custom-layer-option-resizing"]//div[@class="se-custom-layer-resizing-option-group"]//button[@class="se-custom-layer-resizing-reset-button"]//span[@class="se-custom-layer-resizing-reset-label" and text()="초기화"]') }
780
+ sleep(1)
781
+ @driver.find_element(:xpath, '//li[@class="se-toolbar-item se-toolbar-item-resizing"]//div[@class="se-custom-layer-option se-custom-layer-option-resizing"]//div[@class="se-custom-layer-resizing-option-group"]//button[@class="se-custom-layer-resizing-reset-button"]//span[@class="se-custom-layer-resizing-reset-label" and text()="초기화"]').click
782
+ sleep(1)
783
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
784
+ sleep(1)
785
+ end
786
+ rescue
787
+ @driver.action.key_down(:down).key_up(:down).perform
788
+
789
+ end
790
+
791
+
750
792
  if option['사진타이틀'] == 'true'
751
793
  begin
752
794
  @driver.action.key_down(:up).key_up(:up).perform
@@ -784,38 +826,67 @@ class Naver
784
826
  elsif i2.to_s.include?('<video')
785
827
  path = i2.to_s.split('src="')[1].split('"')[0]
786
828
  path = URI.decode_www_form(path)[0][0]
787
-
829
+
788
830
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/header/div[1]/ul/li[3]/button').click
789
831
  sleep(3)
832
+
833
+
834
+ @driver.execute_script(<<~JS)
835
+ window.URL.createObjectURL = function() {};
836
+ HTMLInputElement.prototype.click = function() {
837
+ console.log("File dialog suppressed");
838
+ };
839
+ JS
840
+ sleep(1)
841
+ # 파일 업로드 버튼 클릭 (이제 파일 선택 창이 뜨지 않음)
790
842
  @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[2]/fieldset/div[1]/button[1]').click
791
843
  sleep(3)
792
-
793
- Clipboard.copy(path.split('/').join("\\"))
794
- key_down('ctrl')
795
- key_stroke('v')
796
- key_up('ctrl')
844
+
845
+ file_path = path.split('/').join("\\") # 윈도우 스타일 경로로 변환
846
+ # 파일 입력 필드 찾기 (input[type="file"])
847
+ file_input = @driver.find_element(:id, "hidden-input")
848
+
849
+ # send_keys로 파일 경로를 직접 입력하여 파일 업로드
850
+ file_input.send_keys(file_path)
851
+
797
852
  sleep(3)
798
- key_stroke('enter')
799
- sleep(2)
800
-
801
- @driver.find_element(:xpath, '//*[@id="nvu_inp_box_title"]').send_keys(title)
802
- sleep(1)
803
- @driver.find_element(:xpath, '//*[@id="nvu_inp_box_description"]').send_keys(title)
804
- sleep(1)
853
+ begin
854
+ @driver.find_element(:xpath, '//*[@id="nvu_inp_box_title"]').send_keys(title)
855
+ sleep(1)
856
+ rescue
857
+ end
858
+
859
+ begin
860
+ @driver.find_element(:xpath, '//*[@id="nvu_inp_box_description"]').send_keys(title)
861
+ sleep(1)
862
+ rescue
863
+ end
864
+
865
+ begin
805
866
  @driver.find_element(:xpath, '//*[@id="nvu_inp_box_tag"]').send_keys(title)
806
- sleep(1)
867
+ sleep(1)
868
+ rescue
869
+ end
807
870
 
808
871
  for n in 1..10
809
- puts @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[2]/div[1]/ul/li/div/button[1]/div[2]/em').text
810
- if @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[2]/div[1]/ul/li/div/button[1]/div[2]/em').text == '업로드 완료'
811
- break
812
- end
813
- sleep(10)
872
+ begin
873
+ puts @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[2]/div[1]/ul/li/div/button[1]/div[2]/em').text
874
+ if @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[2]/div[1]/ul/li/div/button[1]/div[2]/em').text == '업로드 완료'
875
+ break
876
+ end
877
+ sleep(10)
878
+ rescue
879
+ end
814
880
  end
815
- @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[3]/button/span').click
816
- sleep(3)
817
- @driver.action.key_down(:up).key_up(:up).perform #x탭
818
- sleep(1)
881
+
882
+ begin
883
+ @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[3]/button/span').click
884
+ sleep(3)
885
+ @driver.action.key_down(:up).key_up(:up).perform #x탭
886
+ sleep(1)
887
+ rescue
888
+ end
889
+
819
890
  begin
820
891
  wait = Selenium::WebDriver::Wait.new(:timeout => 3)
821
892
  #요소가 나타날 때까지 60초 동안 기다립니다.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_basics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.27
4
+ version: 0.0.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-24 00:00:00.000000000 Z
11
+ date: 2025-02-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com