posting_duo 3.99.999 → 3.101.999
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 +134 -134
- 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: ae4fd84ffdf6c4512dfe76630a84be559b6156f6ff1960540b5a9ecefe9a16cc
|
4
|
+
data.tar.gz: d95fd450c5d5fec6d3ef96e4259098a3ed3ffcf179da5cac2fb19f2e81a5395f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb037bb48a57d10225d2a10f84f412c89ea19f395b05ac77461a1d5c5bc7e59683302827dc43d002d8d3afa3ea32ec27966b26f4c09e83c8ca02e12fba864099
|
7
|
+
data.tar.gz: 54ecbe4220fa3fe89ccc434a9084076c8fa4e40626b868f9011c1b0a5851ae7c57af5aec6d08611cebe37bd22861282cce8ad0d6e8c7cd92061f56fca50e15f3
|
data/lib/posting_duo.rb
CHANGED
@@ -29,37 +29,8 @@ using Rainbow
|
|
29
29
|
|
30
30
|
class Naver
|
31
31
|
def initialize
|
32
|
-
kill_selenium_chrome #기존 창 모두 닫는 명령
|
33
|
-
sleep(1)
|
34
32
|
end
|
35
33
|
|
36
|
-
def kill_selenium_chrome #기존 창 모두 닫는 코드
|
37
|
-
wmi = WIN32OLE.connect("winmgmts://")
|
38
|
-
chrome_procs = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
|
39
|
-
|
40
|
-
chrome_procs.each do |proc|
|
41
|
-
cmd = proc.CommandLine
|
42
|
-
if cmd && cmd.include?("user-data-dir=C:/board_cookie")
|
43
|
-
puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
|
44
|
-
begin
|
45
|
-
proc.Terminate
|
46
|
-
rescue
|
47
|
-
#puts "→ 이미 종료된 프로세스: #{proc.ProcessId}"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
# chromedriver도 같이 종료
|
53
|
-
chromedrivers = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chromedriver.exe'")
|
54
|
-
chromedrivers.each do |proc|
|
55
|
-
puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
|
56
|
-
begin
|
57
|
-
proc.Terminate
|
58
|
-
rescue
|
59
|
-
#puts "→ 이미 종료된 chromedriver: #{proc.ProcessId}"
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
34
|
|
64
35
|
def chrome_setup(proxy, board_cookie_dir = "C:/board_cookie")
|
65
36
|
board_cookie_dir = "C:/board_cookie"
|
@@ -75,7 +46,7 @@ class Naver
|
|
75
46
|
|
76
47
|
|
77
48
|
|
78
|
-
|
49
|
+
def chrome_start(proxy, board_cookie_dir = "C:/board_cookie")
|
79
50
|
board_cookie_dir = "C:/board_cookie"
|
80
51
|
FileUtils.mkdir_p(board_cookie_dir) unless File.exist?(board_cookie_dir)
|
81
52
|
if proxy == ''
|
@@ -289,10 +260,13 @@ class Naver
|
|
289
260
|
|
290
261
|
sleep(1)
|
291
262
|
begin
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
263
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
264
|
+
wait.until { @driver.find_element(xpath: '//section[@class="lwrbTd"]//button[@jsname="ajZLRd"]') } #추가 되어 있음
|
265
|
+
puts'[Step.01] CAPTCHA 세션 및 브라우저 설정 완료 상태 확인!!.......'.yellow
|
266
|
+
sleep(1)
|
267
|
+
@driver.manage.window.maximize
|
268
|
+
sleep(1)
|
269
|
+
check_cookie_login = 0
|
296
270
|
rescue
|
297
271
|
begin
|
298
272
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
@@ -309,9 +283,7 @@ class Naver
|
|
309
283
|
shell.SendKeys("{TAB}")
|
310
284
|
sleep(0.5)
|
311
285
|
shell.SendKeys("{ENTER}")
|
312
|
-
|
313
|
-
check_cookie_login = 0
|
314
|
-
sleep(1)
|
286
|
+
check_cookie_login = 1
|
315
287
|
rescue
|
316
288
|
@driver.quit
|
317
289
|
sleep(1)
|
@@ -321,10 +293,11 @@ class Naver
|
|
321
293
|
end
|
322
294
|
end
|
323
295
|
|
324
|
-
|
325
|
-
|
296
|
+
|
297
|
+
if check_cookie_login == 1
|
298
|
+
|
326
299
|
begin
|
327
|
-
|
300
|
+
sleep(1)
|
328
301
|
@driver.get('chrome-extension://ifibfemgeogfhoebkmokieepdoobkbpo/options/options.html')
|
329
302
|
sleep(5)
|
330
303
|
|
@@ -569,39 +542,39 @@ class Naver
|
|
569
542
|
return 0
|
570
543
|
sleep(1)
|
571
544
|
end
|
572
|
-
|
545
|
+
|
546
|
+
begin
|
547
|
+
@driver.get('https://chromewebstore.google.com/detail/captcha-solver-auto-recog/ifibfemgeogfhoebkmokieepdoobkbpo?hl=ko')
|
548
|
+
sleep(2)
|
549
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
550
|
+
#요소가 나타날 때까지 3초 동안 기다립니다.
|
551
|
+
wait.until { @driver.find_element(xpath: '//section[@class="lwrbTd"]//button[@jsname="ajZLRd"]') } #추가 되어 있음
|
552
|
+
sleep(1)
|
553
|
+
@driver.manage.window.maximize
|
554
|
+
sleep(1)
|
555
|
+
rescue => e
|
556
|
+
puts '-[√] 연결 실패.......'.red
|
557
|
+
@driver.window_handles.each do |handle|
|
558
|
+
@driver.switch_to.window(handle)
|
559
|
+
begin
|
560
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
561
|
+
@driver.close
|
562
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
563
|
+
puts "Failed to close tab: #{e.message}"
|
564
|
+
end
|
565
|
+
end
|
566
|
+
@driver.quit
|
567
|
+
sleep(1)
|
568
|
+
@driver.close
|
569
|
+
return 0
|
570
|
+
sleep(1)
|
571
|
+
end
|
573
572
|
|
574
573
|
|
575
|
-
else
|
576
574
|
end
|
575
|
+
end
|
577
576
|
|
578
|
-
|
579
|
-
@driver.get('https://chromewebstore.google.com/detail/captcha-solver-auto-recog/ifibfemgeogfhoebkmokieepdoobkbpo?hl=ko')
|
580
|
-
sleep(2)
|
581
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
582
|
-
#요소가 나타날 때까지 3초 동안 기다립니다.
|
583
|
-
wait.until { @driver.find_element(xpath: '//section[@class="lwrbTd"]//button[@jsname="ajZLRd"]') } #추가 되어 있음
|
584
|
-
sleep(1)
|
585
|
-
@driver.manage.window.maximize
|
586
|
-
sleep(1)
|
587
|
-
rescue => e
|
588
|
-
puts '-[√] 연결 실패.......'.red
|
589
|
-
@driver.window_handles.each do |handle|
|
590
|
-
@driver.switch_to.window(handle)
|
591
|
-
begin
|
592
|
-
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
593
|
-
@driver.close
|
594
|
-
rescue Selenium::WebDriver::Error::WebDriverError => e
|
595
|
-
puts "Failed to close tab: #{e.message}"
|
596
|
-
end
|
597
|
-
end
|
598
|
-
@driver.quit
|
599
|
-
sleep(1)
|
600
|
-
@driver.close
|
601
|
-
return 0
|
602
|
-
sleep(1)
|
603
|
-
end
|
604
|
-
end
|
577
|
+
|
605
578
|
|
606
579
|
|
607
580
|
def update(user_id, user_pw, title, content, option, post_url, signup_url, login_url, cc_check_url, image_url_cheng, img_link2, category, more_txt1, more_txt2, more_txt3, more_txt4, captcha_key, keyword)
|
@@ -7640,28 +7613,34 @@ sleep(1)
|
|
7640
7613
|
puts '-[√] 제목 code 45.......'.yellow
|
7641
7614
|
rescue
|
7642
7615
|
begin
|
7643
|
-
@driver.find_element(:xpath, '//*[@
|
7616
|
+
@driver.find_element(:xpath, '//*[@name="tx_article_title"]').send_keys(title)
|
7644
7617
|
sleep(1)
|
7645
|
-
puts '-[√] 제목 code
|
7646
|
-
rescue
|
7647
|
-
|
7648
|
-
|
7618
|
+
puts '-[√] 제목 code 46.......'.yellow
|
7619
|
+
rescue
|
7620
|
+
begin
|
7621
|
+
@driver.find_element(:xpath, '//*[@id="csTitle"]').send_keys(title)
|
7622
|
+
sleep(1)
|
7623
|
+
puts '-[√] 제목 code 47.......'.yellow
|
7624
|
+
rescue => e
|
7625
|
+
puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
|
7626
|
+
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
7649
7627
|
|
7650
|
-
@driver.window_handles.each do |handle|
|
7651
|
-
@driver.switch_to.window(handle)
|
7652
|
-
begin
|
7653
|
-
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
7654
|
-
@driver.close
|
7628
|
+
@driver.window_handles.each do |handle|
|
7629
|
+
@driver.switch_to.window(handle)
|
7630
|
+
begin
|
7631
|
+
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
7632
|
+
@driver.close
|
7655
7633
|
|
7656
|
-
rescue Selenium::WebDriver::Error::WebDriverError => e
|
7657
|
-
puts "크롬 브라우저 종료: #{e.message}"
|
7658
|
-
end
|
7659
|
-
end
|
7660
|
-
#return 0
|
7661
|
-
@driver.quit
|
7662
|
-
sleep(1)
|
7663
|
-
return 0
|
7664
|
-
sleep(1)
|
7634
|
+
rescue Selenium::WebDriver::Error::WebDriverError => e
|
7635
|
+
puts "크롬 브라우저 종료: #{e.message}"
|
7636
|
+
end
|
7637
|
+
end
|
7638
|
+
#return 0
|
7639
|
+
@driver.quit
|
7640
|
+
sleep(1)
|
7641
|
+
return 0
|
7642
|
+
sleep(1)
|
7643
|
+
end
|
7665
7644
|
end
|
7666
7645
|
end
|
7667
7646
|
end
|
@@ -8114,27 +8093,36 @@ puts '내용 항목 코드 타겟 6.......'.red
|
|
8114
8093
|
rescue
|
8115
8094
|
begin
|
8116
8095
|
#아이프레임에서 코드 선택
|
8096
|
+
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@frameborder="0" and @class="cheditor-editarea"]'))
|
8097
|
+
@driver.find_element(:xpath, '/html/body').click
|
8098
|
+
#아이프레임 나오기
|
8099
|
+
@driver.switch_to.default_content()
|
8100
|
+
sleep(1)
|
8101
|
+
puts '내용 항목 코드 타겟 7.......'.red
|
8102
|
+
rescue
|
8103
|
+
begin
|
8104
|
+
#아이프레임에서 코드 선택
|
8117
8105
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@scrolling="no"]'))
|
8118
8106
|
@driver.find_element(:xpath, '/html').click
|
8119
8107
|
#아이프레임 나오기
|
8120
8108
|
@driver.switch_to.default_content()
|
8121
8109
|
sleep(1)
|
8122
|
-
puts '내용 항목 코드 타겟
|
8110
|
+
puts '내용 항목 코드 타겟 8.......'.red
|
8123
8111
|
rescue
|
8124
8112
|
begin
|
8125
8113
|
@driver.find_element(:xpath, '//*[@id="edit_contents_textareaBox"]/td/textarea').click
|
8126
8114
|
sleep(1)
|
8127
|
-
puts '내용 항목 코드 타겟
|
8115
|
+
puts '내용 항목 코드 타겟 9.......'.red
|
8128
8116
|
rescue
|
8129
8117
|
begin
|
8130
8118
|
@driver.find_element(:xpath, '//*[@name="kboard_content"]').click
|
8131
8119
|
sleep(1)
|
8132
|
-
puts '내용 항목 코드 타겟
|
8120
|
+
puts '내용 항목 코드 타겟 10.......'.red
|
8133
8121
|
rescue
|
8134
8122
|
begin
|
8135
8123
|
@driver.find_element(:xpath, '//*[@class="kboard-content"]').click
|
8136
8124
|
sleep(1)
|
8137
|
-
puts '내용 항목 코드 타겟
|
8125
|
+
puts '내용 항목 코드 타겟 11.......'.red
|
8138
8126
|
rescue
|
8139
8127
|
begin
|
8140
8128
|
#아이프레임에서 코드 선택
|
@@ -8143,217 +8131,217 @@ begin
|
|
8143
8131
|
#아이프레임 나오기
|
8144
8132
|
@driver.switch_to.default_content()
|
8145
8133
|
sleep(1)
|
8146
|
-
puts '내용 항목 코드 타겟
|
8134
|
+
puts '내용 항목 코드 타겟 12.......'.red
|
8147
8135
|
rescue
|
8148
8136
|
begin
|
8149
8137
|
@driver.find_element(:xpath, '//*[@title="리치 텍스트 편집기, content"]').click
|
8150
8138
|
sleep(1)
|
8151
|
-
puts '내용 항목 코드 타겟
|
8139
|
+
puts '내용 항목 코드 타겟 13.......'.red
|
8152
8140
|
rescue
|
8153
8141
|
begin
|
8154
8142
|
@driver.find_element(:xpath, '//*[@aria-label="리치 텍스트 편집기, content"]').click
|
8155
8143
|
sleep(1)
|
8156
|
-
puts '내용 항목 코드 타겟
|
8144
|
+
puts '내용 항목 코드 타겟 14.......'.red
|
8157
8145
|
rescue
|
8158
8146
|
begin
|
8159
8147
|
@driver.find_element(:xpath, '//*[@aria-label="리치 텍스트 편집기, editor1"]').click
|
8160
8148
|
sleep(1)
|
8161
|
-
puts '내용 항목 코드 타겟
|
8149
|
+
puts '내용 항목 코드 타겟 15.......'.red
|
8162
8150
|
rescue
|
8163
8151
|
begin
|
8164
8152
|
@driver.find_element(:xpath, '//*[@title="리치 텍스트 편집기, editor1"]').click
|
8165
8153
|
sleep(1)
|
8166
|
-
puts '내용 항목 코드 타겟
|
8154
|
+
puts '내용 항목 코드 타겟 16.......'.red
|
8167
8155
|
rescue
|
8168
8156
|
begin
|
8169
8157
|
@driver.find_element(:xpath, '//*[@id="cke_1_contents"]/textarea]').click
|
8170
8158
|
sleep(1)
|
8171
|
-
puts '내용 항목 코드 타겟
|
8159
|
+
puts '내용 항목 코드 타겟 17.......'.red
|
8172
8160
|
rescue
|
8173
8161
|
begin
|
8174
8162
|
@driver.find_element(:xpath, '//*[@placeholder="내용을 구체적으로 등록해 주세요."]').click
|
8175
8163
|
sleep(1)
|
8176
|
-
puts '내용 항목 코드 타겟
|
8164
|
+
puts '내용 항목 코드 타겟 18.......'.red
|
8177
8165
|
rescue
|
8178
8166
|
begin
|
8179
8167
|
@driver.find_element(:xpath, '//*[@class="fr-code"]').click
|
8180
8168
|
sleep(1)
|
8181
|
-
puts '내용 항목 코드 타겟
|
8169
|
+
puts '내용 항목 코드 타겟 19.......'.red
|
8182
8170
|
rescue
|
8183
8171
|
begin
|
8184
8172
|
@driver.find_element(:xpath, '//*[@title="내용"]').click
|
8185
8173
|
sleep(1)
|
8186
|
-
puts '내용 항목 코드 타겟
|
8174
|
+
puts '내용 항목 코드 타겟 20.......'.red
|
8187
8175
|
rescue
|
8188
8176
|
begin
|
8189
8177
|
@driver.find_element(:xpath, '//*[@class="cheditor-editarea-text-content"]').click
|
8190
8178
|
sleep(1)
|
8191
|
-
puts '내용 항목 코드 타겟
|
8179
|
+
puts '내용 항목 코드 타겟 21.......'.red
|
8192
8180
|
rescue
|
8193
8181
|
begin
|
8194
8182
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="bowrite_content"]/div/iframe"]'))
|
8195
8183
|
@driver.find_element(:xpath, '//*[@title="HTML 편집 모드"]').click
|
8196
8184
|
@driver.switch_to.default_content()
|
8197
8185
|
sleep(1)
|
8198
|
-
puts '내용 항목 코드 타겟
|
8186
|
+
puts '내용 항목 코드 타겟 22.......'.red
|
8199
8187
|
rescue
|
8200
8188
|
begin
|
8201
8189
|
@driver.find_element(:xpath, '//*[@class="CodeMirror-lines"]').click
|
8202
8190
|
sleep(1)
|
8203
|
-
puts '내용 항목 코드 타겟
|
8191
|
+
puts '내용 항목 코드 타겟 23.......'.red
|
8204
8192
|
rescue
|
8205
8193
|
begin
|
8206
8194
|
@driver.find_element(:xpath, '//*[@id="tx_canvas_source"]').click
|
8207
8195
|
sleep(1)
|
8208
|
-
puts '내용 항목 코드 타겟
|
8196
|
+
puts '내용 항목 코드 타겟 24.......'.red
|
8209
8197
|
rescue
|
8210
8198
|
begin
|
8211
8199
|
@driver.find_element(:xpath, '//*[@class="note-editable"]').click
|
8212
8200
|
sleep(1)
|
8213
|
-
puts '내용 항목 코드 타겟
|
8201
|
+
puts '내용 항목 코드 타겟 25.......'.red
|
8214
8202
|
rescue
|
8215
8203
|
begin
|
8216
8204
|
@driver.find_element(:xpath, '//*[@id="simpleeditor_instance_3"]').click
|
8217
8205
|
sleep(1)
|
8218
|
-
puts '내용 항목 코드 타겟
|
8206
|
+
puts '내용 항목 코드 타겟 26.......'.red
|
8219
8207
|
rescue
|
8220
8208
|
begin
|
8221
8209
|
@driver.find_element(:xpath, '//*[@role="textbox"]').click
|
8222
8210
|
sleep(1)
|
8223
|
-
puts '내용 항목 코드 타겟
|
8211
|
+
puts '내용 항목 코드 타겟 27.......'.red
|
8224
8212
|
rescue
|
8225
8213
|
begin
|
8226
8214
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="cke_1_contents"]/iframe'))
|
8227
8215
|
@driver.find_element(:xpath, '/html').click
|
8228
8216
|
sleep(1)
|
8229
|
-
puts '내용 항목 코드 타겟
|
8217
|
+
puts '내용 항목 코드 타겟 28.......'.red
|
8230
8218
|
rescue
|
8231
8219
|
begin
|
8232
8220
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="b_content_ifr"]'))
|
8233
8221
|
@driver.find_element(:xpath, '//*[@id="tinymce"]').click
|
8234
8222
|
sleep(1)
|
8235
|
-
puts '내용 항목 코드 타겟
|
8223
|
+
puts '내용 항목 코드 타겟 29.......'.red
|
8236
8224
|
rescue
|
8237
8225
|
begin
|
8238
8226
|
@driver.find_element(:xpath, '//*[@id="com_txt_box"]').click
|
8239
8227
|
sleep(1)
|
8240
|
-
puts '내용 항목 코드 타겟
|
8228
|
+
puts '내용 항목 코드 타겟 30.......'.red
|
8241
8229
|
rescue
|
8242
8230
|
begin
|
8243
8231
|
@driver.find_element(:xpath, '//*[@aria-label="Source code editing area"]').click
|
8244
8232
|
sleep(1)
|
8245
|
-
puts '내용 항목 코드 타겟
|
8233
|
+
puts '내용 항목 코드 타겟 31.......'.red
|
8246
8234
|
rescue
|
8247
8235
|
begin
|
8248
8236
|
@driver.find_element(:xpath, '//*[@title="리치 텍스트 편집기, postContent"]').click
|
8249
8237
|
sleep(1)
|
8250
|
-
puts '내용 항목 코드 타겟
|
8238
|
+
puts '내용 항목 코드 타겟 32.......'.red
|
8251
8239
|
rescue
|
8252
8240
|
begin
|
8253
8241
|
@driver.find_element(:xpath, '//*[@id="post_body"]/div[1]/div').click
|
8254
8242
|
sleep(1)
|
8255
|
-
puts '내용 항목 코드 타겟
|
8243
|
+
puts '내용 항목 코드 타겟 33.......'.red
|
8256
8244
|
rescue
|
8257
8245
|
begin
|
8258
8246
|
@driver.find_element(:xpath, '//*[@class="fr-element fr-view"]').click
|
8259
8247
|
sleep(1)
|
8260
|
-
puts '내용 항목 코드 타겟
|
8248
|
+
puts '내용 항목 코드 타겟 34.......'.red
|
8261
8249
|
rescue
|
8262
8250
|
begin
|
8263
8251
|
@driver.find_element(:xpath, '//*[@id="CONTENT"]').click
|
8264
8252
|
sleep(1)
|
8265
|
-
puts '내용 항목 코드 타겟
|
8253
|
+
puts '내용 항목 코드 타겟 35.......'.red
|
8266
8254
|
rescue
|
8267
8255
|
begin
|
8268
8256
|
@driver.find_element(:xpath, '//*[@id="div_text"]').click
|
8269
8257
|
sleep(1)
|
8270
|
-
puts '내용 항목 코드 타겟
|
8258
|
+
puts '내용 항목 코드 타겟 36.......'.red
|
8271
8259
|
rescue
|
8272
8260
|
begin
|
8273
8261
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@frameborder="0"]'))
|
8274
8262
|
sleep(1)
|
8275
8263
|
@driver.find_element(:xpath, '/html/body').click
|
8276
8264
|
sleep(1)
|
8277
|
-
puts '내용 항목 코드 타겟
|
8265
|
+
puts '내용 항목 코드 타겟 37.......'.red
|
8278
8266
|
rescue
|
8279
8267
|
begin
|
8280
8268
|
@driver.find_element(:xpath, '//*[@class="b_textarea"]').click
|
8281
|
-
puts '내용 항목 코드 타겟
|
8269
|
+
puts '내용 항목 코드 타겟 38.......'.red
|
8282
8270
|
rescue
|
8283
8271
|
begin
|
8284
8272
|
@driver.find_element(:xpath, '/html/body/div[1]/div[2]/div/div/section/form/div[4]/div/textarea').click
|
8285
8273
|
sleep(1)
|
8286
|
-
puts '내용 항목 코드 타겟
|
8274
|
+
puts '내용 항목 코드 타겟 39.......'.red
|
8287
8275
|
rescue
|
8288
8276
|
begin
|
8289
8277
|
@driver.find_element(:xpath, '//textarea[@name="comment"]').click
|
8290
8278
|
sleep(1)
|
8291
|
-
puts '내용 항목 코드 타겟
|
8279
|
+
puts '내용 항목 코드 타겟 40.......'.red
|
8292
8280
|
rescue
|
8293
8281
|
begin
|
8294
8282
|
@driver.find_element(:xpath, '//*[@class="CodeMirror-lines"]').click
|
8295
8283
|
sleep(1)
|
8296
|
-
puts '내용 항목 코드 타겟
|
8284
|
+
puts '내용 항목 코드 타겟 41.......'.red
|
8297
8285
|
rescue
|
8298
8286
|
begin
|
8299
8287
|
@driver.find_element(:xpath, '//textarea[@id="kboard_content"]').click
|
8300
8288
|
sleep(1)
|
8301
|
-
puts '내용 항목 코드 타겟
|
8289
|
+
puts '내용 항목 코드 타겟 42.......'.red
|
8302
8290
|
rescue
|
8303
8291
|
begin
|
8304
8292
|
@driver.find_element(:xpath, '//textarea[@class="editor-textarea "]').click
|
8305
8293
|
sleep(1)
|
8306
|
-
puts '내용 항목 코드 타겟
|
8294
|
+
puts '내용 항목 코드 타겟 43.......'.red
|
8307
8295
|
rescue
|
8308
8296
|
begin
|
8309
8297
|
@driver.find_element(:xpath, '//textarea[@name="kboard_content"]').click
|
8310
8298
|
sleep(1)
|
8311
|
-
puts '내용 항목 코드 타겟
|
8299
|
+
puts '내용 항목 코드 타겟 44.......'.red
|
8312
8300
|
rescue
|
8313
8301
|
begin
|
8314
8302
|
@driver.find_element(:xpath, '//*[@class="kboard-attr-row kboard-attr-content required"]').click
|
8315
8303
|
sleep(1)
|
8316
|
-
puts '내용 항목 코드 타겟
|
8304
|
+
puts '내용 항목 코드 타겟 45.......'.red
|
8317
8305
|
rescue
|
8318
8306
|
begin
|
8319
8307
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="NamoSE_Ifr__editor"]'))
|
8320
8308
|
@driver.find_element(:xpath, '//*[@class="hide-vertical-guideline ruler-hidden"]').click
|
8321
8309
|
sleep(1)
|
8322
8310
|
@driver.switch_to.default_content
|
8323
|
-
puts '내용 항목 코드 타겟
|
8311
|
+
puts '내용 항목 코드 타겟 46.......'.red
|
8324
8312
|
rescue
|
8325
8313
|
begin
|
8326
8314
|
@driver.find_element(:xpath, '//*[@placeholder="내용"]').click
|
8327
8315
|
sleep(1)
|
8328
|
-
puts '내용 항목 코드 타겟
|
8316
|
+
puts '내용 항목 코드 타겟 47.......'.red
|
8329
8317
|
rescue
|
8330
8318
|
begin
|
8331
8319
|
@driver.find_element(:xpath, '//*[@align="center"]').click
|
8332
8320
|
sleep(1)
|
8333
|
-
puts '내용 항목 코드 타겟
|
8321
|
+
puts '내용 항목 코드 타겟 48.......'.red
|
8334
8322
|
rescue
|
8335
8323
|
begin
|
8336
8324
|
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@scrolling="no"]'))
|
8337
8325
|
@driver.find_element(:xpath, '//*[@title="HTML 편집 모드"]').click
|
8338
8326
|
sleep(1)
|
8339
8327
|
@driver.switch_to.default_content
|
8340
|
-
puts '내용 항목 코드 타겟
|
8328
|
+
puts '내용 항목 코드 타겟 49.......'.red
|
8341
8329
|
rescue
|
8342
8330
|
begin
|
8343
8331
|
@driver.find_element(:xpath, '//*[@name="board_body"]').click
|
8344
8332
|
sleep(1)
|
8345
|
-
puts '내용 항목 코드 타겟
|
8333
|
+
puts '내용 항목 코드 타겟 50.......'.red
|
8346
8334
|
rescue
|
8347
8335
|
begin
|
8348
8336
|
@driver.find_element(:xpath, '//textarea[@id="wr_content"]').click
|
8349
8337
|
sleep(1)
|
8350
|
-
puts '내용 항목 코드 타겟
|
8338
|
+
puts '내용 항목 코드 타겟 51.......'.red
|
8351
8339
|
rescue
|
8352
8340
|
begin
|
8353
8341
|
textarea = @driver.find_element(:id, 'kboard_content')
|
8354
8342
|
@driver.execute_script("arguments[0].scrollIntoView(true);", textarea)
|
8355
8343
|
@driver.find_element(:id, 'kboard_content').click
|
8356
|
-
puts '내용 항목 코드 타겟
|
8344
|
+
puts '내용 항목 코드 타겟 52.......'.red
|
8357
8345
|
rescue
|
8358
8346
|
end
|
8359
8347
|
end
|
@@ -8405,6 +8393,7 @@ end
|
|
8405
8393
|
end
|
8406
8394
|
end
|
8407
8395
|
end
|
8396
|
+
end
|
8408
8397
|
|
8409
8398
|
|
8410
8399
|
end
|
@@ -11566,6 +11555,16 @@ puts '-[√] 등록을 40번 코드로 시도하였습니다.......'.magenta
|
|
11566
11555
|
sleep(1)
|
11567
11556
|
|
11568
11557
|
rescue
|
11558
|
+
begin
|
11559
|
+
ss_button = @driver.find_element(:xpath, '//a[text()="확인" and @href="javascript:chk();"]')
|
11560
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
11561
|
+
sleep(1)
|
11562
|
+
|
11563
|
+
ss_button = @driver.find_element(:xpath, '//a[text()="확인" and @href="javascript:chk();"]').click
|
11564
|
+
puts '-[√] 등록을 41번 코드로 시도하였습니다.......'.magenta
|
11565
|
+
sleep(1)
|
11566
|
+
|
11567
|
+
rescue
|
11569
11568
|
########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
|
11570
11569
|
begin
|
11571
11570
|
puts '-[√] 등록 버튼 코드 탐색에 실패하였습니다.......'.magenta
|
@@ -11777,6 +11776,7 @@ end
|
|
11777
11776
|
end
|
11778
11777
|
end
|
11779
11778
|
end
|
11779
|
+
end
|
11780
11780
|
end
|
11781
11781
|
end
|
11782
11782
|
end
|
@@ -12107,7 +12107,7 @@ end
|
|
12107
12107
|
|
12108
12108
|
end
|
12109
12109
|
|
12110
|
-
#end #반복루프
|
12110
|
+
#end #반복루프
|
12111
12111
|
class Wordpress
|
12112
12112
|
include Glimmer
|
12113
12113
|
|
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.
|
4
|
+
version: 3.101.999
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-12 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|