posting_duo 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/posting_duo.rb +91 -118
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 459e7908950fd72392d361400a3d44dcb62b84adf82eb89529f15daf473cfd2c
4
- data.tar.gz: 87e66e1e5614393da72b8dd6846eeee372e6bce77c29dd6b3e605bfff1c477ba
3
+ metadata.gz: 20979e15cb7508d97f1b65bacb6853dcf27d12b9828e17923c6bf2340bc014de
4
+ data.tar.gz: dc3af1b58592d9c8db350887607733c678ec1d4508abc74a8509e697cedf03ff
5
5
  SHA512:
6
- metadata.gz: d98e0ff952e05826cedfa644b8dc24bed5efb09aed8859375b869219733f9b23dbb9b4d96b85029def76bbe37d2d238ba37ed87607f8d29492817423af28047e
7
- data.tar.gz: 1d15b7a338e0a05b75c74ab86b9981c4bd8b542b239a9dfdd8e1e0d93a3ef25feebf0c1b2448dc41f8aea09e1ccedc0db30fe5ae6910c702f6eb752ecb6662c0
6
+ metadata.gz: daf48151576f6c7db028829d8df02b28473d060e4304a49b7819afcc7b36055c0b0029ddd2388afd980bc964133a08d782087dbfbf1525595209cb17c54ec48d
7
+ data.tar.gz: fd4f709c4f510d6e18caff42cf6885e86df0715225ff9b8d2f3f485f83cf7231bd68e419503bf9abb184e93eec5bbba2c3c70fddec27978edcfdf40bdba1d871
data/lib/posting_duo.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'glimmer-dsl-libui'
2
2
  require 'selenium-webdriver'
3
- require 'webdrivers'
3
+ # require 'webdrivers'
4
4
  require 'iconv'
5
5
  require 'nokogiri'
6
6
  require 'open-uri'
@@ -30,127 +30,100 @@ require 'watir'
30
30
  #driver.find_element(:class_name, 'highlight-java')
31
31
 
32
32
  class Naver
33
-
33
+
34
34
  def chrome_start(proxy)
35
- # ChromeDriver 경로 수동 지정
36
- chromedriver_path = './chromedriver.exe'
37
-
38
- # 웹드라이버 자동 업데이트 시도
39
- begin
40
- # webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
41
- Webdrivers::Chromedriver.update # 자동 업데이트 시도
42
- rescue => e
43
- puts "webdrivers에서 chromedriver 다운로드 실패: #{e.message}"
44
- puts " 자동으로 chromedriver.exe 사용합니다."
45
- puts "만일 프로그램 폴더안에 chromedriver.exe 버전이 맞지 않거나 없는 경우 인터넷창이 깜빡하고 닫히거나 열리지 않는경우에만 아래 안내를 따라주세요."
46
- puts "https://storage.googleapis.com/chrome-for-testing-public/사용자크롬버전/win32/chromedriver-win32.zip 링크를 복사 후 복사 된 링크 중(사용자크롬버전) 부분을 크롬 사용자의 버전(예:131.0.6778.264)으로 수정 주소입력 부분에 넣어 엔터 후 다운로드 하고 압축을 풀고 chromedriver.exe 파일만 프로그램 폴더안에 넣어주세요."
47
- puts "인터넷 창이 열리고 작업을 한다면 위 항목은 패스해주세요."
48
- # 예외가 발생하면 수동 경로 사용
49
- Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
50
- end
51
-
52
- if proxy == ''
53
- begin
54
- # Chrome 옵션 설정
55
- options = Selenium::WebDriver::Chrome::Options.new
56
- options.add_extension('./crx/free.crx')
57
- options.add_extension('./crx/app.crx')
58
- options.add_argument('--disable-gpu')
59
- options.add_argument('--start-maximized')
60
- options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.59 Safari/537.36') # user-agent 위조
61
- options.add_argument('--disable-blink-features=AutomationControlled') # 자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
62
- options.add_argument('--ignore-certificate-errors') # SSL 인증서 오류 무시
63
- options.add_argument('--disable-web-security') # 웹 보안 비활성화
64
- options.add_argument('--allow-running-insecure-content') # HTTPS 사이트에서 HTTP 컨텐츠 실행 허용
65
- options.add_argument('--no-sandbox') # 샌드박스 모드 비활성화
66
-
67
- options.exclude_switches = ['enable-automation'] # 자동화 테스트 제거
68
- options.add_preference("profile.password_manager_enabled", false) # 비밀번호 관리자 비활성화
69
- options.add_preference("credentials_enable_service", false) # 비밀번호 저장 기능 비활성화
70
- options.add_preference("profile.default_content_setting_values.notifications", 2) # 알림 차단
71
- options.add_argument("--disable-save-password-bubble") # 비밀번호 저장 팝업 차단
72
-
73
- # 드라이버 초기화
74
- capabilities = [options]
75
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
76
- rescue => e
77
- puts "Error during initialization: #{e.message}"
78
- # 예외 발생 시, 수동으로 chromedriver 경로 설정
79
- Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
80
- options = Selenium::WebDriver::Chrome::Options.new
81
- options.add_extension('./crx/free.crx')
82
- options.add_extension('./crx/app.crx')
83
- options.add_argument('--disable-gpu')
84
- options.add_argument('--start-maximized')
85
- options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.59 Safari/537.36')
86
- options.add_argument('--disable-blink-features=AutomationControlled')
87
- options.add_argument('--ignore-certificate-errors')
88
- options.add_argument('--disable-web-security')
89
- options.add_argument('--allow-running-insecure-content')
90
- options.add_argument('--no-sandbox')
91
-
92
- options.exclude_switches = ['enable-automation']
93
- options.add_preference("profile.password_manager_enabled", false)
94
- options.add_preference("credentials_enable_service", false)
95
- options.add_preference("profile.default_content_setting_values.notifications", 2)
96
- options.add_argument("--disable-save-password-bubble")
97
-
98
- # 드라이버 초기화
99
- capabilities = [options]
100
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
101
- end
102
- else
103
- begin
104
- puts '프록시 연결합니다.......'.magenta
105
- options = Selenium::WebDriver::Chrome::Options.new
106
- options.add_argument '--proxy-server=' + proxy.to_s.force_encoding('utf-8').to_s
107
- options.add_extension('./crx/free.crx')
108
- options.add_extension('./crx/app.crx')
109
- options.add_argument('--disable-gpu')
110
- options.add_argument('--start-maximized')
111
- options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.59 Safari/537.36')
112
- options.add_argument('--disable-blink-features=AutomationControlled')
113
- options.add_argument('--ignore-certificate-errors')
114
- options.add_argument('--disable-web-security')
115
- options.add_argument('--allow-running-insecure-content')
116
- options.add_argument('--no-sandbox')
117
-
118
- options.exclude_switches = ['enable-automation']
119
- options.add_preference("profile.password_manager_enabled", false)
120
- options.add_preference("credentials_enable_service", false)
121
- options.add_preference("profile.default_content_setting_values.notifications", 2)
122
- options.add_argument("--disable-save-password-bubble")
123
-
124
- capabilities = [options]
125
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
126
- rescue => e
127
- puts "Proxy error: #{e.message}"
128
- # 예외 발생 시 수동으로 chromedriver 경로 설정
129
- Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
130
- options.add_extension('./crx/free.crx')
131
- options.add_extension('./crx/app.crx')
132
- options.add_argument('--disable-gpu')
133
- options.add_argument('--start-maximized')
134
- options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.59 Safari/537.36')
135
- options.add_argument('--disable-blink-features=AutomationControlled')
136
- options.add_argument('--ignore-certificate-errors')
137
- options.add_argument('--disable-web-security')
138
- options.add_argument('--allow-running-insecure-content')
139
- options.add_argument('--no-sandbox')
140
-
141
- options.exclude_switches = ['enable-automation']
142
- options.add_preference("profile.password_manager_enabled", false)
143
- options.add_preference("credentials_enable_service", false)
144
- options.add_preference("profile.default_content_setting_values.notifications", 2)
145
- options.add_argument("--disable-save-password-bubble")
146
-
147
- capabilities = [options]
148
- @driver = Selenium::WebDriver.for(:chrome, capabilities: capabilities)
35
+ if proxy == ''
36
+ begin
37
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
38
+ options = Selenium::WebDriver::Chrome::Options.new #(options: {"excludeSwitches" => ["enable-automation"]}) #자동화된 테스트...제거(options: {"excludeSwitches" => ["enable-automation"]})
39
+ options.add_extension('./crx/free.crx')
40
+ options.add_extension('./crx/app.crx')
41
+ options.page_load_strategy = :normal
42
+ options.timeouts = {page_load: 20_000}
43
+ options.add_argument('--disable-gpu')
44
+ options.add_argument('--start-maximized')
45
+ options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.59 Safari/537.36') # user-agent 위조
46
+ options.add_argument('--disable-blink-features=AutomationControlled') # 자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
47
+
48
+ options.add_argument('--disable-web-security') # 보안 비활성화
49
+ options.add_argument('--allow-running-insecure-content') # HTTPS 사이트에서 HTTP 컨텐츠 실행 허용
50
+ options.add_argument('--no-sandbox') # 샌드박스 모드 비활성화
51
+
52
+ options.exclude_switches = ['enable-automation'] # 자동화 테스트 제거
53
+ options.add_preference("profile.password_manager_enabled", false) # 비밀번호 관리자 비활성화
54
+ options.add_preference("credentials_enable_service", false) # 비밀번호 저장 기능 비활성화
55
+ options.add_preference("profile.default_content_setting_values.notifications", 2) # 알림 차단
56
+ options.add_argument("--disable-save-password-bubble") # 비밀번호 저장 팝업 차단
57
+
58
+
59
+
60
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
61
+ rescue
62
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
63
+ end
64
+ else
65
+ begin
66
+ puts '프록시 연결합니다.......'.magenta
67
+ puts '프록시 연결시 프록시 서버에 의해 인터넷속도가 낮아질수있어.......'.magenta
68
+ puts '원활한 작업이 되지않을수있습니다.......'.magenta
69
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
70
+ options = Selenium::WebDriver::Chrome::Options.new
71
+ options.add_argument '--proxy-server='+proxy.to_s.force_encoding('utf-8').to_s
72
+ options.add_extension('./crx/free.crx')
73
+ options.add_extension('./crx/app.crx')
74
+ options.page_load_strategy = :normal
75
+ options.timeouts = {page_load: 20_000}
76
+ options.add_argument('--disable-gpu')
77
+ options.add_argument('--start-maximized')
78
+ options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.59 Safari/537.36') # user-agent 위조
79
+ options.add_argument('--disable-blink-features=AutomationControlled') # 자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
80
+
81
+ options.add_argument('--disable-web-security') # 웹 보안 비활성화
82
+ options.add_argument('--allow-running-insecure-content') # HTTPS 사이트에서 HTTP 컨텐츠 실행 허용
83
+ options.add_argument('--no-sandbox') # 샌드박스 모드 비활성화
84
+
85
+ options.exclude_switches = ['enable-automation'] # 자동화 테스트 제거
86
+ options.add_preference("profile.password_manager_enabled", false) # 비밀번호 관리자 비활성화
87
+ options.add_preference("credentials_enable_service", false) # 비밀번호 저장 기능 비활성화
88
+ options.add_preference("profile.default_content_setting_values.notifications", 2) # 알림 차단
89
+ options.add_argument("--disable-save-password-bubble") # 비밀번호 저장 팝업 차단
90
+
91
+
92
+
93
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
94
+ rescue => e
95
+ puts e
96
+ puts 'proxy error...'
97
+ begin
98
+ Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
99
+ options.add_extension('./crx/free.crx')
100
+ options.add_extension('./crx/app.crx')
101
+ options.page_load_strategy = :normal
102
+ options.timeouts = {page_load: 20_000}
103
+ options.add_argument('--disable-gpu')
104
+ options.add_argument('--start-maximized')
105
+ options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.59 Safari/537.36') # user-agent 위조
106
+ options.add_argument('--disable-blink-features=AutomationControlled') # 자동화된 환경에서 실행되는 것을 감지하는 기능을 비활성화합니다.
107
+
108
+ options.add_argument('--disable-web-security') # 웹 보안 비활성화
109
+ options.add_argument('--allow-running-insecure-content') # HTTPS 사이트에서 HTTP 컨텐츠 실행 허용
110
+ options.add_argument('--no-sandbox') # 샌드박스 모드 비활성화
111
+
112
+ options.exclude_switches = ['enable-automation'] # 자동화 테스트 제거
113
+ options.add_preference("profile.password_manager_enabled", false) # 비밀번호 관리자 비활성화
114
+ options.add_preference("credentials_enable_service", false) # 비밀번호 저장 기능 비활성화
115
+ options.add_preference("profile.default_content_setting_values.notifications", 2) # 알림 차단
116
+ options.add_argument("--disable-save-password-bubble") # 비밀번호 저장 팝업 차단
117
+
118
+
119
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
120
+ rescue
121
+ @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
122
+ end
123
+ end
149
124
  end
150
- end
151
125
  end
152
126
 
153
-
154
127
 
155
128
 
156
129
  def login(proxy)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: posting_duo
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-10 00:00:00.000000000 Z
11
+ date: 2025-01-21 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com