board_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/board_posting_duo.rb +259 -55
- 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: fd7fc37f45c4caaba9ebc3526ae0596865098dc2563232022e70dc6809440d87
|
4
|
+
data.tar.gz: dd2fa6f21d1b79a4a94cd5dfe914447ef4f4581956ba9bce80ea8b1f45062a91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a1048a21d7c31a398d36a75f8a108910bccb145cd6f15a3f64c0c70c6b3079e0e259811922a57ab54957daafb9ca61b087d5d787e1421ca09595143d16dab9b
|
7
|
+
data.tar.gz: 6cebb506ceeabab1da136c11fffb579063fae5a901fa28f33cb91246b0da7c69ce277ea67a0946d568a3224452cfe0a7d98263c9b10b6ac27fdd6dc366374df6
|
data/lib/board_posting_duo.rb
CHANGED
@@ -28,7 +28,6 @@ require 'watir'
|
|
28
28
|
# or
|
29
29
|
#driver.find_element(:class_name, 'highlight-java')
|
30
30
|
|
31
|
-
|
32
31
|
class Naver
|
33
32
|
|
34
33
|
def chrome_start(proxy)
|
@@ -188,24 +187,24 @@ begin
|
|
188
187
|
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
189
188
|
sleep(1)
|
190
189
|
@driver.find_element(:xpath, '/html/body/div/div[1]/table/tbody/tr[1]/td[3]/button').click
|
191
|
-
sleep(
|
192
|
-
@driver.switch_to.alert.
|
190
|
+
sleep(2)
|
191
|
+
@driver.switch_to.alert.accept
|
193
192
|
|
194
193
|
rescue
|
195
194
|
begin
|
196
195
|
puts '-[√] 투 캡챠 api 입력 시도 2.......'.green
|
197
196
|
sleep(1)
|
198
197
|
@driver.switch_to.window(@driver.window_handles[0])
|
199
|
-
|
198
|
+
|
200
199
|
|
201
200
|
# 요소 찾기 타임아웃을 10초로 설정
|
202
201
|
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
|
203
202
|
#요소가 나타날 때까지 60초 동안 기다립니다.
|
204
|
-
wait.until { @driver.find_element(:
|
205
|
-
@driver.find_element(:
|
203
|
+
wait.until { @driver.find_element(:xpath, '//*[@name="apiKey"]') }
|
204
|
+
@driver.find_element(:xpath, '//*[@name="apiKey"]').click
|
206
205
|
sleep(1)
|
207
206
|
begin
|
208
|
-
@driver.find_element(:
|
207
|
+
@driver.find_element(:xpath, '//*[@name="apiKey"]').click
|
209
208
|
rescue
|
210
209
|
|
211
210
|
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
@@ -216,15 +215,21 @@ rescue
|
|
216
215
|
Clipboard.copy(captcha_key)
|
217
216
|
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
218
217
|
sleep(1)
|
218
|
+
begin
|
219
219
|
@driver.find_element(:class_name, 'default-btn').click
|
220
|
-
sleep(
|
221
|
-
@driver.switch_to.alert.
|
220
|
+
sleep(2)
|
221
|
+
@driver.switch_to.alert.accept
|
222
|
+
rescue => e
|
223
|
+
puts e
|
224
|
+
@driver.quit
|
225
|
+
return 0
|
226
|
+
end
|
222
227
|
|
223
228
|
rescue => e
|
224
229
|
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
225
230
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
226
231
|
puts e
|
227
|
-
@driver.
|
232
|
+
@driver.quit
|
228
233
|
return 0
|
229
234
|
end
|
230
235
|
end
|
@@ -238,6 +243,8 @@ sleep(2)
|
|
238
243
|
signup_url = option['signup_url'].to_s
|
239
244
|
|
240
245
|
|
246
|
+
|
247
|
+
|
241
248
|
begin
|
242
249
|
if signup_url == '' or signup_url == '회원가입 페이지 url'
|
243
250
|
|
@@ -245,7 +252,8 @@ sleep(2)
|
|
245
252
|
|
246
253
|
@driver.get(signup_url)
|
247
254
|
puts '-[√] 회원가입 페이지 URL 이동.......'.magenta
|
248
|
-
|
255
|
+
|
256
|
+
|
249
257
|
begin
|
250
258
|
# 요소 찾기 타임아웃을 10초로 설정
|
251
259
|
wait = Selenium::WebDriver::Wait.new(:timeout => 20)
|
@@ -3372,13 +3380,15 @@ post_url = option['post_url'].to_s
|
|
3372
3380
|
@driver.get(post_url)
|
3373
3381
|
|
3374
3382
|
begin
|
3375
|
-
sleep(
|
3376
|
-
@driver.switch_to.alert.accept
|
3383
|
+
sleep(2)
|
3384
|
+
@driver.switch_to.alert.accept
|
3377
3385
|
rescue
|
3378
3386
|
end
|
3379
3387
|
|
3380
3388
|
|
3381
3389
|
|
3390
|
+
|
3391
|
+
|
3382
3392
|
begin
|
3383
3393
|
# 요소 찾기 타임아웃을 10초로 설정
|
3384
3394
|
wait = Selenium::WebDriver::Wait.new(:timeout => 20)
|
@@ -3395,6 +3405,7 @@ post_url = option['post_url'].to_s
|
|
3395
3405
|
#요소가 나타날 때까지 20초 동안 기다립니다.
|
3396
3406
|
wait.until { @driver.find_element(:xpath, '/html') }
|
3397
3407
|
@driver.find_element(:xpath, '/html')
|
3408
|
+
sleep(1)
|
3398
3409
|
rescue => e
|
3399
3410
|
puts '-[√] 글쓰기 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
3400
3411
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
@@ -3581,21 +3592,23 @@ post_url = option['post_url'].to_s
|
|
3581
3592
|
sleep(1)
|
3582
3593
|
#@driver.execute_script("document.body.style.zoom = '0.70'")
|
3583
3594
|
rescue => e
|
3595
|
+
begin
|
3596
|
+
@driver.switch_to.alert.accept
|
3597
|
+
rescue
|
3598
|
+
end
|
3584
3599
|
puts '-[√] 글쓰기 페이지 접속 시도 실패 (페이지 로딩 지연 및 접속 불량).......'.red
|
3585
3600
|
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
3586
3601
|
puts e
|
3587
|
-
@driver.
|
3602
|
+
@driver.quit
|
3588
3603
|
return 0
|
3589
3604
|
end
|
3590
3605
|
end
|
3591
3606
|
|
3592
|
-
|
3593
|
-
|
3594
|
-
|
3595
|
-
|
3596
|
-
|
3597
|
-
#rescue
|
3598
|
-
#end
|
3607
|
+
begin
|
3608
|
+
@driver.switch_to.alert.accept
|
3609
|
+
sleep(2)
|
3610
|
+
rescue
|
3611
|
+
end
|
3599
3612
|
|
3600
3613
|
|
3601
3614
|
begin
|
@@ -3645,8 +3658,6 @@ post_url = option['post_url'].to_s
|
|
3645
3658
|
|
3646
3659
|
|
3647
3660
|
|
3648
|
-
|
3649
|
-
|
3650
3661
|
end
|
3651
3662
|
|
3652
3663
|
|
@@ -4233,66 +4244,86 @@ post_url = option['post_url'].to_s
|
|
4233
4244
|
|
4234
4245
|
##닉네임 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
4235
4246
|
puts '-[√] 닉네임 패스워드 입력 가능 여부 체크.......'.yellow
|
4236
|
-
|
4247
|
+
|
4237
4248
|
begin
|
4238
4249
|
@driver.find_element(:xpath, '//*[@id="wr_name"]').send_keys(user_id)
|
4250
|
+
sleep(1)
|
4239
4251
|
rescue
|
4240
4252
|
begin
|
4241
4253
|
@driver.find_element(:xpath, '//*[@fw-label="작성자"]').send_keys(user_id)
|
4254
|
+
sleep(1)
|
4242
4255
|
rescue
|
4243
4256
|
begin
|
4244
4257
|
@driver.find_element(:xpath, '//*[@name="member_display"]').send_keys(user_id)
|
4258
|
+
sleep(1)
|
4245
4259
|
rescue
|
4246
4260
|
begin
|
4247
4261
|
@driver.find_element(:xpath, '//*[@title="닉네임"]').send_keys(user_id)
|
4262
|
+
sleep(1)
|
4248
4263
|
rescue
|
4249
4264
|
begin
|
4250
4265
|
@driver.find_element(:xpath, '//*[@name="name"]').send_keys(user_id)
|
4266
|
+
sleep(1)
|
4251
4267
|
rescue
|
4252
4268
|
begin
|
4253
4269
|
@driver.find_element(:xpath, '//*[@name="writer"]').send_keys(user_id)
|
4270
|
+
sleep(1)
|
4254
4271
|
rescue
|
4255
4272
|
begin
|
4256
4273
|
@driver.find_element(:xpath, '//*[@name="hname"]').send_keys(user_id)
|
4274
|
+
sleep(1)
|
4257
4275
|
rescue
|
4258
4276
|
begin
|
4259
4277
|
@driver.find_element(:xpath, '//*[@name="wr_name"]').send_keys(user_id)
|
4278
|
+
sleep(1)
|
4260
4279
|
rescue
|
4261
4280
|
begin
|
4262
4281
|
@driver.find_element(:xpath, '//*[@name="post_nickname"]').send_keys(user_id)
|
4282
|
+
sleep(1)
|
4263
4283
|
rescue
|
4264
4284
|
begin
|
4265
4285
|
@driver.find_element(:xpath, '//*[@name="user_name"]').send_keys(user_id)
|
4286
|
+
sleep(1)
|
4266
4287
|
rescue
|
4267
4288
|
begin
|
4268
4289
|
@driver.find_element(:xpath, '//*[@class="mb-user-name"]').send_keys(user_id)
|
4290
|
+
sleep(1)
|
4269
4291
|
rescue
|
4270
4292
|
begin
|
4271
4293
|
@driver.find_element(:xpath, '//*[@placeholder="비회원 닉네임"]').send_keys(user_id)
|
4294
|
+
sleep(1)
|
4272
4295
|
rescue
|
4273
4296
|
begin
|
4274
4297
|
@driver.find_element(:xpath, '//*[@placeholder="이름"]').send_keys(user_id)
|
4298
|
+
sleep(1)
|
4275
4299
|
rescue
|
4276
4300
|
begin
|
4277
4301
|
@driver.find_element(:xpath, '//*[@name="nickname"]').send_keys(user_id)
|
4302
|
+
sleep(1)
|
4278
4303
|
rescue
|
4279
4304
|
begin
|
4280
4305
|
@driver.find_element(:xpath, '//*[@name="nick"]').send_keys(user_id)
|
4306
|
+
sleep(1)
|
4281
4307
|
rescue
|
4282
4308
|
begin
|
4283
4309
|
@driver.find_element(:xpath, '//*[@placeholder="작성자 이름"]').send_keys(user_id)
|
4310
|
+
sleep(1)
|
4284
4311
|
rescue
|
4285
4312
|
begin
|
4286
4313
|
@driver.find_element(:xpath, '//*[@id="reg_name"]').send_keys(user_id)
|
4314
|
+
sleep(1)
|
4287
4315
|
rescue
|
4288
4316
|
begin
|
4289
4317
|
@driver.find_element(:xpath, '//*[@id="postWriter"]').send_keys(user_id)
|
4318
|
+
sleep(1)
|
4290
4319
|
rescue
|
4291
4320
|
begin
|
4292
4321
|
@driver.find_element(:xpath, '//*[@id="kboard-input-member-display"]').send_keys(user_id)
|
4322
|
+
sleep(1)
|
4293
4323
|
rescue
|
4294
4324
|
begin
|
4295
4325
|
@driver.find_element(:xpath, '//*[@name="nick_name"]').send_keys(user_id)
|
4326
|
+
sleep(1)
|
4296
4327
|
rescue
|
4297
4328
|
|
4298
4329
|
end
|
@@ -4317,53 +4348,68 @@ begin
|
|
4317
4348
|
|
4318
4349
|
end
|
4319
4350
|
##<─────────────────────────────────────────────────────────────────────닉네임 입력 코드 부분
|
4320
|
-
|
4351
|
+
|
4321
4352
|
|
4322
4353
|
##패스워드 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
4323
4354
|
begin
|
4324
4355
|
@driver.find_element(:xpath, '//*[@id="wr_password"]').send_keys(user_pw)
|
4356
|
+
sleep(1)
|
4325
4357
|
rescue
|
4326
4358
|
begin
|
4327
4359
|
@driver.find_element(:xpath, '//*[@fw-label="비밀번호"]').send_keys(user_pw)
|
4360
|
+
sleep(1)
|
4328
4361
|
rescue
|
4329
4362
|
begin
|
4330
4363
|
@driver.find_element(:xpath, '//*[@name="password"]').send_keys(user_pw)
|
4364
|
+
sleep(1)
|
4331
4365
|
rescue
|
4332
4366
|
begin
|
4333
4367
|
@driver.find_element(:xpath, '//*[@title="비밀번호"]').send_keys(user_pw)
|
4368
|
+
sleep(1)
|
4334
4369
|
rescue
|
4335
4370
|
begin
|
4336
4371
|
@driver.find_element(:xpath, '//*[@type="password"]').send_keys(user_pw)
|
4372
|
+
sleep(1)
|
4337
4373
|
rescue
|
4338
4374
|
begin
|
4339
4375
|
@driver.find_element(:xpath, '//*[@name="wr_password"]').send_keys(user_pw)
|
4376
|
+
sleep(1)
|
4340
4377
|
rescue
|
4341
4378
|
begin
|
4342
4379
|
@driver.find_element(:xpath, '//*[@name="passwd"]').send_keys(user_pw)
|
4380
|
+
sleep(1)
|
4343
4381
|
rescue
|
4344
4382
|
begin
|
4345
4383
|
@driver.find_element(:xpath, '//*[@name="post_password"]').send_keys(user_pw)
|
4384
|
+
sleep(1)
|
4346
4385
|
rescue
|
4347
4386
|
begin
|
4348
4387
|
@driver.find_element(:xpath, '//*[@class="mb-passwd"]').send_keys(user_pw)
|
4388
|
+
sleep(1)
|
4349
4389
|
rescue
|
4350
4390
|
begin
|
4351
4391
|
@driver.find_element(:xpath, '//*[@placeholder="비밀번호"]').send_keys(user_pw)
|
4392
|
+
sleep(1)
|
4352
4393
|
rescue
|
4353
4394
|
begin
|
4354
4395
|
@driver.find_element(:xpath, '//*[@id="passwd"]').send_keys(user_pw)
|
4396
|
+
sleep(1)
|
4355
4397
|
rescue
|
4356
4398
|
begin
|
4357
4399
|
@driver.find_element(:xpath, '//*[@id="blogPostPassword1"]').send_keys(user_pw)
|
4400
|
+
sleep(1)
|
4358
4401
|
rescue
|
4359
4402
|
begin
|
4360
4403
|
@driver.find_element(:xpath, '//*[@name="secret_pass"]').send_keys(user_pw)
|
4404
|
+
sleep(1)
|
4361
4405
|
rescue
|
4362
4406
|
begin
|
4363
4407
|
@driver.find_element(:xpath, '//*[@id="reg_pwd"]').send_keys(user_pw)
|
4408
|
+
sleep(1)
|
4364
4409
|
rescue
|
4365
4410
|
begin
|
4366
4411
|
@driver.find_element(:xpath, '//*[@id="kboard-input-password"]').send_keys(user_pw)
|
4412
|
+
sleep(1)
|
4367
4413
|
rescue
|
4368
4414
|
|
4369
4415
|
end
|
@@ -4388,9 +4434,11 @@ begin
|
|
4388
4434
|
##패스워드 입력 2차 코드 부분─────────────────────────────────────────────────────────────────────>
|
4389
4435
|
begin
|
4390
4436
|
@driver.find_element(:xpath, '//*[@for="blogPostPassword2"]').send_keys(user_pw)
|
4437
|
+
sleep(1)
|
4391
4438
|
rescue
|
4392
4439
|
begin
|
4393
4440
|
@driver.find_element(:xpath, '//*[@id="blogPostPassword2"]').send_keys(user_pw)
|
4441
|
+
sleep(1)
|
4394
4442
|
rescue
|
4395
4443
|
puts '-[√] 닉네임 패스워드 2차 코드 탐색 종료.......'.yellow
|
4396
4444
|
sleep(1)
|
@@ -4595,28 +4643,41 @@ begin
|
|
4595
4643
|
begin
|
4596
4644
|
|
4597
4645
|
@driver.find_element(:xpath, '//*[@id="ca_name"]').click
|
4646
|
+
sleep(1)
|
4598
4647
|
rescue
|
4599
4648
|
begin
|
4600
4649
|
@driver.find_element(:xpath, '//*[@name="ca_name"]').click
|
4650
|
+
sleep(1)
|
4601
4651
|
rescue
|
4602
4652
|
begin
|
4603
4653
|
@driver.find_element(:xpath, '//*[@name="category1"]').click
|
4654
|
+
sleep(1)
|
4604
4655
|
rescue
|
4605
4656
|
begin
|
4606
4657
|
@driver.find_element(:xpath, '//*[@title="Category1"]').click
|
4658
|
+
sleep(1)
|
4607
4659
|
rescue
|
4608
4660
|
begin
|
4609
4661
|
@driver.find_element(:xpath, '//*[@id="kboard-tree-category-1"]').click
|
4662
|
+
sleep(1)
|
4610
4663
|
rescue
|
4611
4664
|
begin
|
4612
4665
|
@driver.find_element(:xpath, '//*[@name="category_srl"]').click
|
4666
|
+
sleep(1)
|
4613
4667
|
rescue
|
4614
4668
|
begin
|
4615
4669
|
@driver.find_element(:xpath, '//*[@class="category"]').click
|
4670
|
+
sleep(1)
|
4616
4671
|
rescue
|
4617
4672
|
begin
|
4618
4673
|
@driver.find_element(:xpath, '//*[@id="datepicker"]').click
|
4674
|
+
sleep(1)
|
4619
4675
|
rescue
|
4676
|
+
begin
|
4677
|
+
@driver.find_element(:xpath, '//*[@name="CATEGORY"]').click
|
4678
|
+
sleep(1)
|
4679
|
+
rescue
|
4680
|
+
end
|
4620
4681
|
end
|
4621
4682
|
end
|
4622
4683
|
end
|
@@ -4625,7 +4686,7 @@ begin
|
|
4625
4686
|
end
|
4626
4687
|
end
|
4627
4688
|
end
|
4628
|
-
|
4689
|
+
|
4629
4690
|
|
4630
4691
|
puts '-[√] 카테고리 2차 코드 탐색.......'.magenta
|
4631
4692
|
begin
|
@@ -4637,7 +4698,7 @@ begin
|
|
4637
4698
|
sleep(1)
|
4638
4699
|
|
4639
4700
|
end
|
4640
|
-
|
4701
|
+
|
4641
4702
|
|
4642
4703
|
|
4643
4704
|
end
|
@@ -4649,39 +4710,52 @@ begin
|
|
4649
4710
|
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
4650
4711
|
@driver.close
|
4651
4712
|
end
|
4652
|
-
|
4713
|
+
|
4653
4714
|
##<─────────────────────────────────────────────────────────────────────카테고리 선택 코드 부분
|
4654
4715
|
|
4655
4716
|
|
4656
|
-
|
4717
|
+
|
4657
4718
|
##체크박스 코드 부분─────────────────────────────────────────────────────────────────────>
|
4658
4719
|
puts '-[√] 체크 항목 탐색 시작.......'.yellow
|
4659
4720
|
begin
|
4660
4721
|
@driver.find_element(:xpath, '//*[@for="privacy_agreement_radio0"]').click
|
4722
|
+
sleep(1)
|
4661
4723
|
rescue
|
4662
4724
|
begin
|
4663
4725
|
@driver.find_element(:partial_link_text, '동의함').click #요소같고 텍스트가 다를때 텍스트로 타겟
|
4726
|
+
sleep(1)
|
4664
4727
|
rescue
|
4665
4728
|
begin
|
4666
4729
|
@driver.find_element(:xpath, '/*[@id="tags"]').click
|
4730
|
+
sleep(1)
|
4667
4731
|
rescue
|
4668
4732
|
begin
|
4669
4733
|
@driver.find_element(:xpath, '//*[@id="moreMisc-1"]').click
|
4734
|
+
sleep(1)
|
4670
4735
|
rescue
|
4736
|
+
begin
|
4737
|
+
@driver.find_element(:xpath, '//*[@value="html"]').click
|
4738
|
+
sleep(1)
|
4739
|
+
rescue
|
4671
4740
|
begin
|
4672
4741
|
@driver.find_element(:xpath, '//*[@type="radio"]').click
|
4742
|
+
sleep(1)
|
4673
4743
|
rescue
|
4674
4744
|
begin
|
4675
4745
|
@driver.find_element(:xpath, '//*[@id="subjects"]/label[1]').click
|
4746
|
+
sleep(1)
|
4676
4747
|
rescue
|
4677
4748
|
begin
|
4678
4749
|
@driver.find_element(:xpath, '//*[@id="boardPrivacyCheck"]').click
|
4750
|
+
sleep(1)
|
4679
4751
|
rescue
|
4680
4752
|
begin
|
4681
4753
|
@driver.find_element(:xpath, '//*[@for="boardPrivacyCheck"]').click
|
4754
|
+
sleep(1)
|
4682
4755
|
rescue
|
4683
4756
|
|
4684
4757
|
end
|
4758
|
+
end
|
4685
4759
|
end
|
4686
4760
|
end
|
4687
4761
|
end
|
@@ -4689,15 +4763,34 @@ begin
|
|
4689
4763
|
end
|
4690
4764
|
end
|
4691
4765
|
end
|
4692
|
-
##<─────────────────────────────────────────────────────────────────────체크박스코드 부분
|
4766
|
+
##<─────────────────────────────────────────────────────────────────────체크박스코드 부분
|
4693
4767
|
|
4694
4768
|
|
4769
|
+
begin
|
4770
|
+
#요소 자체 제거 하기 기능
|
4771
|
+
|
4772
|
+
chat_box = @driver.find_element(:xpath, '//*[@bgcolor="#F6F5F5"]')
|
4773
|
+
@driver.execute_script("arguments[0].remove();", chat_box)
|
4774
|
+
puts '숨김 code 제거 완료.......'.green
|
4775
|
+
sleep(1)
|
4776
|
+
rescue
|
4777
|
+
end
|
4778
|
+
|
4779
|
+
begin
|
4780
|
+
#요소 자체 제거 하기 기능
|
4781
|
+
|
4782
|
+
chat_box = @driver.find_element(:xpath, '//*[@id="tempSaveContent"]')
|
4783
|
+
@driver.execute_script("arguments[0].remove();", chat_box)
|
4784
|
+
puts '숨김 code 제거 완료.......'.green
|
4785
|
+
sleep(1)
|
4786
|
+
rescue
|
4787
|
+
end
|
4695
4788
|
|
4696
4789
|
|
4697
4790
|
title = title.strip
|
4698
4791
|
##제목 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
4699
4792
|
puts '-[√] 제목 입력 필드 탐색 시작.......'.yellow
|
4700
|
-
|
4793
|
+
|
4701
4794
|
begin
|
4702
4795
|
@driver.find_element(:xpath, '//*[@id="wr_subject"]').click
|
4703
4796
|
sleep(1)
|
@@ -4887,14 +4980,24 @@ begin
|
|
4887
4980
|
@driver.find_element(:xpath, '//*[@for="wr_subject"]').send_keys(title)
|
4888
4981
|
puts '-[√] 제목 code 35.......'.yellow
|
4889
4982
|
|
4890
|
-
rescue
|
4891
|
-
|
4892
|
-
|
4893
|
-
|
4894
|
-
|
4895
|
-
|
4896
|
-
|
4897
|
-
|
4983
|
+
rescue
|
4984
|
+
begin
|
4985
|
+
|
4986
|
+
@driver.find_element(:xpath, '//*[@name="SUBJECT"]').send_keys(title)
|
4987
|
+
sleep(1)
|
4988
|
+
@driver.action.key_down(:tab).key_up(:tab).perform #x탭
|
4989
|
+
puts '-[√] 제목 code 36.......'.yellow
|
4990
|
+
|
4991
|
+
rescue => e
|
4992
|
+
|
4993
|
+
puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
|
4994
|
+
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
4995
|
+
puts e
|
4996
|
+
@driver.close
|
4997
|
+
return 0
|
4998
|
+
|
4999
|
+
|
5000
|
+
end
|
4898
5001
|
|
4899
5002
|
end
|
4900
5003
|
end
|
@@ -4938,7 +5041,6 @@ begin
|
|
4938
5041
|
##<─────────────────────────────────────────────────────────────────────제목 입력 코드 부분
|
4939
5042
|
|
4940
5043
|
|
4941
|
-
|
4942
5044
|
##HTML 버튼 코드 부분─────────────────────────────────────────────────────────────────────>
|
4943
5045
|
puts '-[√] HTML 코드 변경 버튼 탐색 시작.......'.yellow
|
4944
5046
|
sleep(1)
|
@@ -4949,102 +5051,147 @@ begin
|
|
4949
5051
|
@driver.find_element(:xpath, '//*[@class="se2_to_html"]').click
|
4950
5052
|
#아이프레임 나오기
|
4951
5053
|
@driver.switch_to.default_content()
|
5054
|
+
puts '-[√] HTML 코드 1 code.......'.yellow
|
4952
5055
|
rescue
|
4953
5056
|
begin
|
4954
5057
|
|
4955
5058
|
@driver.find_element(:xpath, '//*[@title="HTML 편집"]').click
|
5059
|
+
puts '-[√] HTML 코드 2 code.......'.yellow
|
4956
5060
|
|
4957
5061
|
rescue
|
4958
5062
|
begin
|
4959
5063
|
|
4960
5064
|
@driver.find_element(:xpath, '//*[@id="html"]').click
|
5065
|
+
puts '-[√] HTML 코드 3 code.......'.yellow
|
4961
5066
|
rescue
|
4962
5067
|
begin
|
4963
5068
|
|
4964
5069
|
@driver.find_element(:xpath, '//*[@title="코드보기"]').click
|
5070
|
+
puts '-[√] HTML 코드 4 code.......'.yellow
|
4965
5071
|
rescue
|
4966
5072
|
begin
|
4967
5073
|
|
4968
5074
|
@driver.find_element(:xpath, '//*[@id="chk_html"]').click
|
5075
|
+
puts '-[√] HTML 코드 5 code.......'.yellow
|
4969
5076
|
rescue
|
4970
5077
|
begin
|
4971
5078
|
|
4972
5079
|
@driver.find_element(:xpath, '//*[@id="kboard_content-html"]').click
|
5080
|
+
puts '-[√] HTML 코드 6 code.......'.yellow
|
4973
5081
|
rescue
|
4974
5082
|
begin
|
4975
5083
|
|
4976
5084
|
@driver.find_element(:xpath, '//*[@alt="코드"]').click
|
5085
|
+
puts '-[√] HTML 코드 7 code.......'.yellow
|
4977
5086
|
rescue
|
4978
5087
|
begin
|
4979
5088
|
|
4980
5089
|
@driver.find_element(:xpath, '//*[@title="HTML 편집기"]').click
|
5090
|
+
puts '-[√] HTML 코드 8 code.......'.yellow
|
4981
5091
|
rescue
|
4982
5092
|
begin
|
4983
5093
|
|
4984
5094
|
@driver.find_element(:xpath, '//*[@name="tag"]').click
|
5095
|
+
puts '-[√] HTML 코드 9 code.......'.yellow
|
4985
5096
|
rescue
|
4986
5097
|
begin
|
4987
|
-
|
4988
|
-
|
5098
|
+
@driver.find_element(:xpath, '//*[@name="html"]').click
|
5099
|
+
puts '-[√] HTML 코드 10 code.......'.yellow
|
5100
|
+
sleep(1.5)
|
5101
|
+
|
4989
5102
|
rescue
|
4990
5103
|
begin
|
4991
5104
|
|
4992
5105
|
@driver.find_element(:xpath, '//*[@id="html"]').click
|
5106
|
+
puts '-[√] HTML 코드 12 code.......'.yellow
|
5107
|
+
sleep(1)
|
4993
5108
|
rescue
|
4994
5109
|
begin
|
4995
5110
|
|
4996
5111
|
@driver.find_element(:xpath, '//*[@data-wp-editor-id="kboard_content"]').click
|
5112
|
+
puts '-[√] HTML 코드 13 code.......'.yellow
|
5113
|
+
sleep(1)
|
4997
5114
|
rescue
|
4998
5115
|
begin
|
4999
5116
|
|
5000
5117
|
@driver.find_element(:xpath, '//*[@title="소스"]').click
|
5118
|
+
puts '-[√] HTML 코드 14 code.......'.yellow
|
5119
|
+
sleep(1)
|
5001
5120
|
rescue
|
5002
5121
|
begin
|
5003
5122
|
|
5004
5123
|
@driver.find_element(:xpath, '//*[@class="note-btn btn-codeview note-codeview-keep active"]').click
|
5124
|
+
puts '-[√] HTML 코드 15 code.......'.yellow
|
5125
|
+
sleep(1)
|
5005
5126
|
rescue
|
5006
5127
|
begin
|
5007
5128
|
|
5008
5129
|
@driver.find_element(:xpath, '//*[@for="html"]').click
|
5130
|
+
puts '-[√] HTML 코드 16 code.......'.yellow
|
5131
|
+
sleep(1)
|
5009
5132
|
rescue
|
5010
5133
|
begin
|
5011
5134
|
|
5012
5135
|
@driver.find_element(:xpath, '//*[@onclick="html_auto_br(this);"]').click
|
5136
|
+
puts '-[√] HTML 코드 17 code.......'.yellow
|
5137
|
+
sleep(1)
|
5013
5138
|
rescue
|
5014
5139
|
begin
|
5015
5140
|
|
5016
5141
|
@driver.find_element(:xpath, '//*[@data-title="코드보기"]').click
|
5142
|
+
puts '-[√] HTML 코드 18 code.......'.yellow
|
5143
|
+
sleep(1)
|
5017
5144
|
rescue
|
5018
5145
|
begin
|
5019
5146
|
|
5020
5147
|
@driver.find_element(:xpath, '//*[@title="에디터 타입"]').click
|
5148
|
+
puts '-[√] HTML 코드 19 code.......'.yellow
|
5149
|
+
sleep(1)
|
5021
5150
|
rescue
|
5022
5151
|
begin
|
5023
5152
|
|
5024
5153
|
@driver.find_element(:xpath, '//*[@aria-label="코드 보기"]').click
|
5154
|
+
puts '-[√] HTML 코드 20 code.......'.yellow
|
5155
|
+
sleep(1)
|
5025
5156
|
rescue
|
5026
5157
|
begin
|
5027
5158
|
|
5028
5159
|
@driver.find_element(:xpath, '//*[@id="fwrite"]/ul/li[2]/div/div/div').click
|
5160
|
+
puts '-[√] HTML 코드 21 code.......'.yellow
|
5161
|
+
sleep(1)
|
5029
5162
|
rescue
|
5030
5163
|
begin
|
5031
5164
|
|
5032
5165
|
@driver.find_element(:xpath, '//*[@data-cke-tooltip-text="소스"]').click
|
5166
|
+
puts '-[√] HTML 코드 22 code.......'.yellow
|
5167
|
+
sleep(1)
|
5033
5168
|
rescue
|
5034
5169
|
begin
|
5035
5170
|
|
5036
5171
|
@driver.find_element(:xpath, '//*[@id="html-1"]').click
|
5172
|
+
puts '-[√] HTML 코드 23 code.......'.yellow
|
5173
|
+
sleep(1)
|
5037
5174
|
rescue
|
5038
5175
|
begin
|
5039
5176
|
|
5040
5177
|
@driver.find_element(:xpath, '//*[@id="html-1"]').click
|
5178
|
+
puts '-[√] HTML 코드 24 code.......'.yellow
|
5179
|
+
sleep(1)
|
5041
5180
|
rescue
|
5042
5181
|
begin
|
5043
5182
|
|
5044
5183
|
@driver.find_element(:xpath, '//*[@class="fas fa-code"]').click
|
5184
|
+
puts '-[√] HTML 코드 25 code.......'.yellow
|
5185
|
+
sleep(1)
|
5045
5186
|
rescue
|
5046
|
-
|
5047
|
-
|
5187
|
+
begin
|
5188
|
+
|
5189
|
+
@driver.find_element(:xpath, '//*[@title="HTML모드"]').click
|
5190
|
+
puts '-[√] HTML 코드 26 code.......'.yellow
|
5191
|
+
sleep(1)
|
5192
|
+
rescue
|
5193
|
+
|
5194
|
+
end
|
5048
5195
|
end
|
5049
5196
|
|
5050
5197
|
end
|
@@ -5268,7 +5415,25 @@ rescue
|
|
5268
5415
|
sleep(1)
|
5269
5416
|
puts '내용 항목 코드 타겟 31.......'.red
|
5270
5417
|
rescue
|
5271
|
-
|
5418
|
+
begin
|
5419
|
+
@driver.find_element(:xpath, '//*[@id="CONTENT"]').click
|
5420
|
+
sleep(1)
|
5421
|
+
puts '내용 항목 코드 타겟 32.......'.red
|
5422
|
+
rescue
|
5423
|
+
begin
|
5424
|
+
@driver.find_element(:xpath, '//*[@id="div_text"]').click
|
5425
|
+
sleep(1)
|
5426
|
+
puts '내용 항목 코드 타겟 32.......'.red
|
5427
|
+
rescue
|
5428
|
+
begin
|
5429
|
+
@driver.find_element(:xpath, '//*[@align="center"]').click
|
5430
|
+
sleep(1)
|
5431
|
+
puts '내용 항목 코드 타겟 32.......'.red
|
5432
|
+
rescue
|
5433
|
+
|
5434
|
+
end
|
5435
|
+
end
|
5436
|
+
end
|
5272
5437
|
end
|
5273
5438
|
end
|
5274
5439
|
end
|
@@ -6239,7 +6404,26 @@ if option['내용사진자동삽입'] == 'true'
|
|
6239
6404
|
end
|
6240
6405
|
#◀◀◀──────────────────────링크 삽입시
|
6241
6406
|
rescue
|
6242
|
-
|
6407
|
+
begin
|
6408
|
+
@driver.find_element(:xpath, '//*[@data-label="이미지 업로드"]').click
|
6409
|
+
sleep(5)
|
6410
|
+
Clipboard.copy(image_url_cheng) # 이미지 폴더에서 이미지 선택
|
6411
|
+
key_down('ctrl')
|
6412
|
+
key_stroke('v')
|
6413
|
+
key_up('ctrl')
|
6414
|
+
sleep(3)
|
6415
|
+
key_stroke('enter')
|
6416
|
+
sleep(3)
|
6417
|
+
#링크 삽입시──────────────────────▶▶▶
|
6418
|
+
if option['내용사진링크'] == 'true'
|
6419
|
+
puts '-[√] 이미지 링크 삽입 불가 유형 게시판.......'.green
|
6420
|
+
else
|
6421
|
+
sleep(1)
|
6422
|
+
end
|
6423
|
+
#◀◀◀──────────────────────링크 삽입시
|
6424
|
+
rescue
|
6425
|
+
|
6426
|
+
end
|
6243
6427
|
end
|
6244
6428
|
end
|
6245
6429
|
end
|
@@ -7253,10 +7437,10 @@ rescue
|
|
7253
7437
|
sleep(5)
|
7254
7438
|
rescue
|
7255
7439
|
begin
|
7256
|
-
@driver.find_element(:xpath, '//*[@
|
7440
|
+
@driver.find_element(:xpath, '//*[@id="bttnComplete1"]').send_keys()
|
7257
7441
|
sleep(2)
|
7258
7442
|
|
7259
|
-
@driver.find_element(:xpath, '//*[@
|
7443
|
+
@driver.find_element(:xpath, '//*[@id="bttnComplete1"]').click
|
7260
7444
|
puts '-[√] 등록을 14번 코드로 시도하였습니다.......'.magenta
|
7261
7445
|
sleep(5)
|
7262
7446
|
rescue
|
@@ -7329,6 +7513,15 @@ rescue
|
|
7329
7513
|
sleep(5)
|
7330
7514
|
|
7331
7515
|
rescue
|
7516
|
+
begin
|
7517
|
+
@driver.find_element(:xpath, '//*[@type="submit"]').send_keys()
|
7518
|
+
sleep(2)
|
7519
|
+
|
7520
|
+
@driver.find_element(:xpath, '//*[@type="submit"]').click
|
7521
|
+
puts '-[√] 등록을 23번 코드로 시도하였습니다.......'.magenta
|
7522
|
+
sleep(5)
|
7523
|
+
|
7524
|
+
rescue
|
7332
7525
|
########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
|
7333
7526
|
begin
|
7334
7527
|
puts '-[√] 등록 버튼 코드 탐색에 실패하였습니다.......'.magenta
|
@@ -7478,10 +7671,21 @@ rescue
|
|
7478
7671
|
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
7479
7672
|
sleep(5)
|
7480
7673
|
rescue
|
7481
|
-
|
7482
|
-
|
7483
|
-
|
7484
|
-
|
7674
|
+
begin
|
7675
|
+
@driver.find_element(:xpath, '//*[@name="SUBJECT"]').send_keys()
|
7676
|
+
sleep(1)
|
7677
|
+
@driver.find_element(:xpath, '//*[@name="SUBJECT"]').click
|
7678
|
+
sleep(1)
|
7679
|
+
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
7680
|
+
puts '-[√] 등록을 시도하였습니다.......'.magenta
|
7681
|
+
sleep(5)
|
7682
|
+
rescue
|
7683
|
+
puts '-[√] 등록 실패.......'.red
|
7684
|
+
puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
|
7685
|
+
puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
|
7686
|
+
@driver.close
|
7687
|
+
|
7688
|
+
end
|
7485
7689
|
|
7486
7690
|
end
|
7487
7691
|
|
@@ -7510,7 +7714,7 @@ rescue
|
|
7510
7714
|
|
7511
7715
|
|
7512
7716
|
|
7513
|
-
|
7717
|
+
end
|
7514
7718
|
end
|
7515
7719
|
end
|
7516
7720
|
end
|
@@ -7587,13 +7791,13 @@ rescue
|
|
7587
7791
|
|
7588
7792
|
|
7589
7793
|
begin
|
7590
|
-
@driver.
|
7794
|
+
@driver.quit
|
7591
7795
|
rescue
|
7592
7796
|
end
|
7593
7797
|
|
7594
7798
|
rescue => e
|
7595
7799
|
puts '-[√] 글쓰기 페이지 접근 및 코드 탐색 ERROR 발생.......'.red
|
7596
|
-
@driver.
|
7800
|
+
@driver.quit
|
7597
7801
|
end
|
7598
7802
|
sleep(3)
|
7599
7803
|
@driver.quit
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: board_posting_duo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.55
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- soonje
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-09-
|
11
|
+
date: 2024-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: File to Clipboard gem
|
14
14
|
email: rnjstnswp123@naver.com
|