board_posting_duo 0.0.9 → 0.0.11

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/board_posting_duo.rb +519 -95
  3. metadata +2 -2
@@ -60,6 +60,7 @@ class Naver
60
60
  options.add_argument('--disable-translate')
61
61
  options.add_argument('--disable-extensions-file-access-check')
62
62
  options.add_argument('--disable-impl-side-painting')
63
+
63
64
 
64
65
  @driver = Selenium::WebDriver.for(:chrome, capabilities: options)
65
66
  rescue
@@ -142,17 +143,16 @@ class Naver
142
143
  @captcha_key = captcha_key
143
144
 
144
145
  @driver.get('chrome-extension://ifibfemgeogfhoebkmokieepdoobkbpo/options/options.html')
145
-
146
-
146
+ sleep(1)
147
147
  begin
148
148
  @driver.switch_to.window(@driver.window_handles[1])
149
-
149
+ sleep(1)
150
150
  @driver.close
151
151
  rescue
152
152
  @driver.switch_to.window(@driver.window_handles[0])
153
153
  end
154
-
155
-
154
+ sleep(1)
155
+
156
156
 
157
157
  ####################탭나누기 수정중######################################
158
158
  begin
@@ -204,7 +204,7 @@ class Naver
204
204
 
205
205
  rescue
206
206
  begin
207
- @driver.quit()
207
+ @driver.quit
208
208
 
209
209
  puts '-[√] 로딩 및 코드인식 실패등 기타 이유로 다음 게시판 작업으로 이동합니다.......'.red
210
210
  puts '-[√] 다음 작업 준비로 약 1초~60초 내외 시간이 소요됩니다.......'.red
@@ -264,7 +264,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
264
264
  @driver.find_element(:xpath, '/html/body')
265
265
  rescue
266
266
  begin
267
- key_stroke('f5')
267
+ @driver.get(signup_url)
268
268
  # 요소 찾기 타임아웃을 10초로 설정
269
269
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
270
270
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -300,10 +300,10 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
300
300
  @driver.find_element(:xpath, '//*[@data-state="error"]').click
301
301
  puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
302
302
  puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
303
- @driver.quit()
303
+ @driver.quit
304
304
  rescue
305
305
  # 타임아웃을 77초로 설정
306
- wait = Selenium::WebDriver::Wait.new(:timeout => 100)
306
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
307
307
  # 요소가 나타날 때까지 100초 동안 기다립니다.
308
308
  wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
309
309
  sleep(1)
@@ -330,7 +330,7 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
330
330
  @driver.find_element(:xpath, '/html/body')
331
331
  rescue
332
332
  begin
333
- key_stroke('f5')
333
+ @driver.get(signup_url)
334
334
  # 요소 찾기 타임아웃을 10초로 설정
335
335
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
336
336
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -526,7 +526,9 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
526
526
  @driver.find_element(:xpath, '/html/body')
527
527
  rescue
528
528
  begin
529
- key_stroke('f5')
529
+ new_signup_url = @driver.current_url #현제 페이지 URL 추출
530
+ sleep(1)
531
+ @driver.get(new_signup_url)
530
532
  # 요소 찾기 타임아웃을 10초로 설정
531
533
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
532
534
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -1126,16 +1128,26 @@ def update(user_id, user_pw, title, content, option, post_url, signup_url, login
1126
1128
 
1127
1129
 
1128
1130
 
1129
-
1130
-
1131
+
1132
+
1131
1133
 
1132
1134
  sleep(1)
1135
+
1133
1136
  ##캡챠 이미지,2캡챠,,등등 코드 부분─────────────────────────────────────────────────────────────────────>
1134
1137
  puts '-[√] 캡챠 유형 탐색.......'.green
1135
1138
  begin
1136
1139
  @driver.switch_to.default_content()
1137
1140
  @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]').click
1138
-
1141
+ sleep(1)
1142
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1143
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1144
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1145
+ sleep(2)
1146
+ @driver.manage.window.maximize
1147
+ sleep(2)
1148
+ mouse_move_percentage(0.3,0.02)
1149
+ sleep(0.5)
1150
+ left_click
1139
1151
  sleep(1)
1140
1152
  el = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
1141
1153
  @driver.action.context_click(el).perform
@@ -1144,14 +1156,23 @@ begin
1144
1156
  #key_down('shift')
1145
1157
  #key_stroke('m')
1146
1158
  #key_up('shift')
1147
- sleep(1)
1159
+ sleep(2)
1148
1160
  puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
1149
1161
  rescue
1150
1162
  begin
1151
1163
  @driver.switch_to.default_content()
1152
1164
  @driver.find_element(:xpath, '//*[@alt="자동등록방지"]').click
1153
-
1154
1165
  sleep(1)
1166
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1167
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1168
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1169
+ sleep(2)
1170
+ @driver.manage.window.maximize
1171
+ sleep(2)
1172
+ mouse_move_percentage(0.3,0.02)
1173
+ sleep(0.5)
1174
+ left_click
1175
+ sleep(2)
1155
1176
  el = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
1156
1177
  @driver.action.context_click(el).perform
1157
1178
  sleep(1)
@@ -1165,8 +1186,17 @@ rescue
1165
1186
  begin
1166
1187
  @driver.switch_to.default_content()
1167
1188
  @driver.find_element(:xpath, '//*[@id="captcha_img"]').click
1168
-
1169
1189
  sleep(1)
1190
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1191
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1192
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1193
+ sleep(2)
1194
+ @driver.manage.window.maximize
1195
+ sleep(2)
1196
+ mouse_move_percentage(0.3,0.02)
1197
+ sleep(0.5)
1198
+ left_click
1199
+ sleep(2)
1170
1200
  el = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
1171
1201
  @driver.action.context_click(el).perform
1172
1202
  sleep(1)
@@ -1180,8 +1210,17 @@ rescue
1180
1210
  begin
1181
1211
  @driver.switch_to.default_content()
1182
1212
  @driver.find_element(:xpath, '//*[@id="kcaptcha"]').click
1183
-
1184
1213
  sleep(1)
1214
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1215
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1216
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1217
+ sleep(2)
1218
+ @driver.manage.window.maximize
1219
+ sleep(2)
1220
+ mouse_move_percentage(0.3,0.02)
1221
+ sleep(0.5)
1222
+ left_click
1223
+ sleep(2)
1185
1224
  el = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
1186
1225
  @driver.action.context_click(el).perform
1187
1226
  sleep(1)
@@ -1195,8 +1234,17 @@ rescue
1195
1234
  begin
1196
1235
  @driver.switch_to.default_content()
1197
1236
  @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]').click
1198
-
1199
1237
  sleep(1)
1238
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1239
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1240
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1241
+ sleep(2)
1242
+ @driver.manage.window.maximize
1243
+ sleep(2)
1244
+ mouse_move_percentage(0.3,0.02)
1245
+ sleep(0.5)
1246
+ left_click
1247
+ sleep(2)
1200
1248
  el = @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
1201
1249
  @driver.action.context_click(el).perform
1202
1250
  sleep(1)
@@ -1211,8 +1259,17 @@ rescue
1211
1259
  @driver.switch_to.default_content()
1212
1260
  sleep(1)
1213
1261
  @driver.find_element(:xpath, '//*[@id="captcha_Write"]').click
1214
-
1215
1262
  sleep(1)
1263
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1264
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1265
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1266
+ sleep(2)
1267
+ @driver.manage.window.maximize
1268
+ sleep(2)
1269
+ mouse_move_percentage(0.3,0.02)
1270
+ sleep(0.5)
1271
+ left_click
1272
+ sleep(2)
1216
1273
  el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
1217
1274
  @driver.action.context_click(el).perform
1218
1275
  sleep(1)
@@ -1226,11 +1283,20 @@ rescue
1226
1283
  begin
1227
1284
  @driver.switch_to.default_content()
1228
1285
  @driver.find_element(:xpath, '//*[@image-reader="in-progress"]').click
1229
-
1286
+ sleep(1)
1287
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1288
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1289
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1290
+ sleep(2)
1291
+ @driver.manage.window.maximize
1292
+ sleep(2)
1293
+ mouse_move_percentage(0.3,0.02)
1294
+ sleep(0.5)
1295
+ left_click
1230
1296
  sleep(1)
1231
1297
  el = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
1232
1298
  @driver.action.context_click(el).perform
1233
- sleep(1)
1299
+ sleep(2)
1234
1300
  @driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
1235
1301
  #key_down('shift')
1236
1302
  #key_stroke('m')
@@ -1241,8 +1307,17 @@ rescue
1241
1307
  begin
1242
1308
  @driver.switch_to.default_content()
1243
1309
  @driver.find_element(:xpath, '//*[@id="spamauth"]').click
1244
-
1245
1310
  sleep(1)
1311
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1312
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1313
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1314
+ sleep(2)
1315
+ @driver.manage.window.maximize
1316
+ sleep(2)
1317
+ mouse_move_percentage(0.3,0.02)
1318
+ sleep(0.5)
1319
+ left_click
1320
+ sleep(2)
1246
1321
  el = @driver.find_element(:xpath, '//*[@id="spamauth"]')
1247
1322
  @driver.action.context_click(el).perform
1248
1323
  sleep(1)
@@ -1256,8 +1331,17 @@ rescue
1256
1331
  begin
1257
1332
  @driver.switch_to.default_content()
1258
1333
  @driver.find_element(:xpath, '//*[@id="norobot_img"]').click
1259
-
1260
1334
  sleep(1)
1335
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
1336
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
1337
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
1338
+ sleep(2)
1339
+ @driver.manage.window.maximize
1340
+ sleep(2)
1341
+ mouse_move_percentage(0.3,0.02)
1342
+ sleep(0.5)
1343
+ left_click
1344
+ sleep(2)
1261
1345
  el = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
1262
1346
  @driver.action.context_click(el).perform
1263
1347
  sleep(1)
@@ -1279,13 +1363,17 @@ rescue
1279
1363
  end
1280
1364
  end
1281
1365
  ##캡챠 이미지,2캡챠,,등등 코드 부분─────────────────────────────────────────────────────────────────────>
1282
-
1283
- sleep(1)
1366
+ sleep(1)
1284
1367
  ##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
1285
1368
  puts '-[√] 캡챠 입력 항목 탐색.......'.green
1286
1369
  begin
1287
1370
  @driver.find_element(:xpath, '//*[@name="captcha_key"]').click
1371
+
1288
1372
  sleep(1)
1373
+ mouse_move_percentage(0.3,0.02)
1374
+ sleep(0.5)
1375
+ left_click
1376
+ sleep(2)
1289
1377
  el = @driver.find_element(:xpath, '//*[@name="captcha_key"]')
1290
1378
  @driver.action.context_click(el).perform
1291
1379
  sleep(1)
@@ -1319,7 +1407,12 @@ begin
1319
1407
  rescue
1320
1408
  begin
1321
1409
  @driver.find_element(:xpath, '//*[@id="captcha_key"]').click
1410
+
1322
1411
  sleep(1)
1412
+ mouse_move_percentage(0.3,0.02)
1413
+ sleep(0.5)
1414
+ left_click
1415
+ sleep(2)
1323
1416
  el = @driver.find_element(:xpath, '//*[@id="captcha_key"]')
1324
1417
  @driver.action.context_click(el).perform
1325
1418
 
@@ -1353,7 +1446,12 @@ rescue
1353
1446
  rescue
1354
1447
  begin
1355
1448
  @driver.find_element(:xpath, '=//*[@id="code"]').click
1449
+
1356
1450
  sleep(1)
1451
+ mouse_move_percentage(0.3,0.02)
1452
+ sleep(0.5)
1453
+ left_click
1454
+ sleep(2)
1357
1455
  el = @driver.find_element(:xpath, '//*[@id="code"]')
1358
1456
  @driver.action.context_click(el).perform
1359
1457
 
@@ -1387,7 +1485,12 @@ rescue
1387
1485
  rescue
1388
1486
  begin
1389
1487
  @driver.find_element(:xpath, '//*[@id="kboard-input-captcha"]').click
1488
+
1390
1489
  sleep(1)
1490
+ mouse_move_percentage(0.3,0.02)
1491
+ sleep(0.5)
1492
+ left_click
1493
+ sleep(2)
1391
1494
  el = @driver.find_element(:xpath, '//*[@id="kboard-input-captcha"]')
1392
1495
  @driver.action.context_click(el).perform
1393
1496
 
@@ -1421,7 +1524,12 @@ rescue
1421
1524
  rescue
1422
1525
  begin
1423
1526
  @driver.find_element(:xpath, '//*[@fw-label="보안문자"]').click
1527
+
1424
1528
  sleep(1)
1529
+ mouse_move_percentage(0.3,0.02)
1530
+ sleep(0.5)
1531
+ left_click
1532
+ sleep(2)
1425
1533
  el = @driver.find_element(:xpath, '//*[@fw-label="보안문자"]')
1426
1534
  @driver.action.context_click(el).perform
1427
1535
 
@@ -1455,7 +1563,12 @@ rescue
1455
1563
  rescue
1456
1564
  begin
1457
1565
  @driver.find_element(:xpath, '//*[@name="captcha"]').click
1566
+
1458
1567
  sleep(1)
1568
+ mouse_move_percentage(0.3,0.02)
1569
+ sleep(0.5)
1570
+ left_click
1571
+ sleep(2)
1459
1572
  el = @driver.find_element(:xpath, '//*[@name="captcha"]')
1460
1573
  @driver.action.context_click(el).perform
1461
1574
 
@@ -1489,7 +1602,12 @@ rescue
1489
1602
  rescue
1490
1603
  begin
1491
1604
  @driver.find_element(:xpath, '//*[@id="spamCode"]').click
1605
+
1492
1606
  sleep(1)
1607
+ mouse_move_percentage(0.3,0.02)
1608
+ sleep(0.5)
1609
+ left_click
1610
+ sleep(2)
1493
1611
  el = @driver.find_element(:xpath, '//*[@id="spamCode"]')
1494
1612
  @driver.action.context_click(el).perform
1495
1613
 
@@ -1523,7 +1641,12 @@ rescue
1523
1641
  rescue
1524
1642
  begin
1525
1643
  @driver.find_element(:xpath, '//*[@id="norobot_code"]').click
1644
+
1526
1645
  sleep(1)
1646
+ mouse_move_percentage(0.3,0.02)
1647
+ sleep(0.5)
1648
+ left_click
1649
+ sleep(2)
1527
1650
  el = @driver.find_element(:xpath, '//*[@id="norobot_code"]')
1528
1651
  @driver.action.context_click(el).perform
1529
1652
 
@@ -1558,7 +1681,12 @@ rescue
1558
1681
  @driver.switch_to.default_content()
1559
1682
  sleep(1)
1560
1683
  @driver.find_element(:xpath, '//*[@name="kcaptcha_code"]').click
1684
+
1561
1685
  sleep(1)
1686
+ mouse_move_percentage(0.3,0.02)
1687
+ sleep(0.5)
1688
+ left_click
1689
+ sleep(2)
1562
1690
  el = @driver.find_element(:xpath, '//*[@name="kcaptcha_code"]')
1563
1691
  @driver.action.context_click(el).perform
1564
1692
 
@@ -1605,7 +1733,6 @@ end
1605
1733
 
1606
1734
 
1607
1735
 
1608
-
1609
1736
  sleep(1)
1610
1737
  ##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
1611
1738
  begin
@@ -1622,10 +1749,10 @@ sleep(10)
1622
1749
  @driver.find_element(:xpath, '//*[@data-state="error"]').click
1623
1750
  puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
1624
1751
  puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
1625
- @driver.quit()
1752
+ @driver.quit
1626
1753
  rescue
1627
1754
  # 타임아웃을 77초로 설정
1628
- wait = Selenium::WebDriver::Wait.new(:timeout => 100)
1755
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
1629
1756
  # 요소가 나타날 때까지 100초 동안 기다립니다.
1630
1757
  wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
1631
1758
  sleep(1)
@@ -1725,7 +1852,9 @@ login_url = option['login_url'].to_s
1725
1852
  @driver.find_element(:xpath, '/html/body')
1726
1853
  rescue
1727
1854
  begin
1728
- key_stroke('f5')
1855
+ new_login__url = @driver.current_url #현제 페이지 URL 추출
1856
+ sleep(1)
1857
+ @driver.get(new_login__url)
1729
1858
  # 요소 찾기 타임아웃을 10초로 설정
1730
1859
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
1731
1860
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -1761,10 +1890,10 @@ login_url = option['login_url'].to_s
1761
1890
  @driver.find_element(:xpath, '//*[@data-state="error"]').click
1762
1891
  puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
1763
1892
  puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
1764
- @driver.quit()
1893
+ @driver.quit
1765
1894
  rescue
1766
1895
  # 타임아웃을 77초로 설정
1767
- wait = Selenium::WebDriver::Wait.new(:timeout => 100)
1896
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
1768
1897
  # 요소가 나타날 때까지 100초 동안 기다립니다.
1769
1898
  wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
1770
1899
  sleep(1)
@@ -1785,7 +1914,9 @@ login_url = option['login_url'].to_s
1785
1914
  @driver.find_element(:xpath, '/html/body')
1786
1915
  rescue
1787
1916
  begin
1788
- key_stroke('f5')
1917
+ new_login__url = @driver.current_url #현제 페이지 URL 추출
1918
+ sleep(1)
1919
+ @driver.get(new_login__url)
1789
1920
  # 요소 찾기 타임아웃을 10초로 설정
1790
1921
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
1791
1922
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -2600,7 +2731,9 @@ begin
2600
2731
  @driver.find_element(:xpath, '/html/body')
2601
2732
  rescue
2602
2733
  begin
2603
- key_stroke('f5')
2734
+ new_check_url = @driver.current_url #현제 페이지 URL 추출
2735
+ sleep(1)
2736
+ @driver.get(new_check_url)
2604
2737
  # 요소 찾기 타임아웃을 10초로 설정
2605
2738
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
2606
2739
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -2635,10 +2768,10 @@ begin
2635
2768
  @driver.find_element(:xpath, '//*[@data-state="error"]').click
2636
2769
  puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
2637
2770
  puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
2638
- @driver.quit()
2771
+ @driver.quit
2639
2772
  rescue
2640
2773
  # 타임아웃을 77초로 설정
2641
- wait = Selenium::WebDriver::Wait.new(:timeout => 100)
2774
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
2642
2775
  # 요소가 나타날 때까지 100초 동안 기다립니다.
2643
2776
  wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
2644
2777
  sleep(1)
@@ -2659,7 +2792,9 @@ begin
2659
2792
  @driver.find_element(:xpath, '/html/body')
2660
2793
  rescue
2661
2794
  begin
2662
- key_stroke('f5')
2795
+ new_check_url = @driver.current_url #현제 페이지 URL 추출
2796
+ sleep(1)
2797
+ @driver.get(new_check_url)
2663
2798
  # 요소 찾기 타임아웃을 10초로 설정
2664
2799
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
2665
2800
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -2807,8 +2942,7 @@ post_url = option['post_url'].to_s
2807
2942
  else
2808
2943
  puts '-[√] 글쓰기 페이지 URL 이동.......'.magenta
2809
2944
  @driver.get(post_url)
2810
- sleep(1)
2811
-
2945
+
2812
2946
  begin
2813
2947
  sleep(1)
2814
2948
  @driver.switch_to.alert.accept
@@ -2823,7 +2957,9 @@ post_url = option['post_url'].to_s
2823
2957
  @driver.find_element(:xpath, '/html/body')
2824
2958
  rescue
2825
2959
  begin
2826
- key_stroke('f5')
2960
+ new_post_url = @driver.current_url #현제 페이지 URL 추출
2961
+ sleep(1)
2962
+ @driver.get(new_post_url)
2827
2963
  # 요소 찾기 타임아웃을 10초로 설정
2828
2964
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
2829
2965
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -2857,10 +2993,10 @@ post_url = option['post_url'].to_s
2857
2993
  @driver.find_element(:xpath, '//*[@data-state="error"]').click
2858
2994
  puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
2859
2995
  puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
2860
- @driver.quit()
2996
+ @driver.quit
2861
2997
  rescue
2862
2998
  # 타임아웃을 77초로 설정
2863
- wait = Selenium::WebDriver::Wait.new(:timeout => 100)
2999
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
2864
3000
  # 요소가 나타날 때까지 100초 동안 기다립니다.
2865
3001
  wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
2866
3002
  sleep(1)
@@ -2884,7 +3020,9 @@ post_url = option['post_url'].to_s
2884
3020
  #@driver.execute_script("document.body.style.zoom = '0.70'")
2885
3021
  rescue
2886
3022
  begin
2887
- key_stroke('f5')
3023
+ new_post_url = @driver.current_url #현제 페이지 URL 추출
3024
+ sleep(1)
3025
+ @driver.get(new_post_url)
2888
3026
  # 요소 찾기 타임아웃을 10초로 설정
2889
3027
  wait = Selenium::WebDriver::Wait.new(:timeout => 20)
2890
3028
  #요소가 나타날 때까지 20초 동안 기다립니다.
@@ -2899,6 +3037,34 @@ post_url = option['post_url'].to_s
2899
3037
  end
2900
3038
  end
2901
3039
 
3040
+
3041
+ =begin
3042
+ begin
3043
+ puts '-[√] 히든 요소 감지(코드 숨김 처리가있는지 체크).......'.cyan
3044
+ # 요소 찾기 타임아웃을 2초로 설정
3045
+ wait = Selenium::WebDriver::Wait.new(:timeout => 2)
3046
+ #요소가 나타날 때까지 2초 동안 기다립니다.
3047
+ wait.until { @driver.find_element(:xpath, '//*[@aria-hidden="false"]') }
3048
+ @driver.find_element(:xpath, '//*[@aria-hidden="false"]')
3049
+ puts '-[√] 히든 요소 감지 됨 히든 요소 강제 제거 처리.......'.cyan
3050
+ @driver.get(post_url)
3051
+ sleep(1)
3052
+ ttm = @driver.find_element(:xpath, '//*[@aria-hidden="false"]')
3053
+ # aria-hidden 요소를 제거 합니다
3054
+ @driver.execute_script('arguments[0].removeAttribute("aria-hidden")', ttm)
3055
+
3056
+
3057
+
3058
+ rescue
3059
+
3060
+ puts '-[√] 히든 요소 감지 없음.......'.cyan
3061
+ end
3062
+ =end
3063
+
3064
+
3065
+
3066
+
3067
+
2902
3068
 
2903
3069
  end
2904
3070
 
@@ -3901,20 +4067,12 @@ begin
3901
4067
  begin
3902
4068
  @driver.find_element(:xpath, '//*[@for="wr_subject"]').send_keys(title)
3903
4069
  rescue
3904
- begin
3905
-
3906
- @driver.find_element(:xpath, '/html/body/div[4]/div/div[2]/section/form/div[2]/div/input').click
3907
-
3908
- @driver.action.send_keys(title).perform
3909
-
3910
-
3911
- rescue
4070
+
4071
+
3912
4072
  puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
3913
4073
  puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
3914
4074
  @driver.close
3915
-
3916
- end
3917
-
4075
+
3918
4076
  end
3919
4077
  end
3920
4078
  end
@@ -3945,81 +4103,102 @@ begin
3945
4103
  begin
3946
4104
  #아이프레임에서 코드 선택
3947
4105
  @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@scrolling="no"]'))
4106
+
3948
4107
  @driver.find_element(:xpath, '//*[@class="se2_to_html"]').click
3949
4108
  #아이프레임 나오기
3950
4109
  @driver.switch_to.default_content()
3951
4110
  rescue
3952
4111
  begin
4112
+
3953
4113
  @driver.find_element(:xpath, '//*[@title="HTML 편집"]').click
4114
+
3954
4115
  rescue
3955
4116
  begin
4117
+
3956
4118
  @driver.find_element(:xpath, '//*[@id="html"]').click
3957
4119
  rescue
3958
4120
  begin
3959
- @driver.find_element(:xpath, '//*[@data-title="기타 더보기"]').click
3960
- sleep(1)
4121
+
3961
4122
  @driver.find_element(:xpath, '//*[@title="코드보기"]').click
3962
4123
  rescue
3963
4124
  begin
4125
+
3964
4126
  @driver.find_element(:xpath, '//*[@id="chk_html"]').click
3965
4127
  rescue
3966
4128
  begin
4129
+
3967
4130
  @driver.find_element(:xpath, '//*[@id="kboard_content-html"]').click
3968
4131
  rescue
3969
4132
  begin
4133
+
3970
4134
  @driver.find_element(:xpath, '//*[@alt="코드"]').click
3971
4135
  rescue
3972
4136
  begin
4137
+
3973
4138
  @driver.find_element(:xpath, '//*[@title="HTML 편집기"]').click
3974
4139
  rescue
3975
4140
  begin
4141
+
3976
4142
  @driver.find_element(:xpath, '//*[@name="tag"]').click
3977
4143
  rescue
3978
4144
  begin
4145
+
3979
4146
  @driver.find_element(:xpath, '//*[@name="html"]').click
3980
4147
  rescue
3981
4148
  begin
4149
+
3982
4150
  @driver.find_element(:xpath, '//*[@id="html"]').click
3983
4151
  rescue
3984
4152
  begin
4153
+
3985
4154
  @driver.find_element(:xpath, '//*[@data-wp-editor-id="kboard_content"]').click
3986
4155
  rescue
3987
4156
  begin
4157
+
3988
4158
  @driver.find_element(:xpath, '//*[@title="소스"]').click
3989
4159
  rescue
3990
4160
  begin
4161
+
3991
4162
  @driver.find_element(:xpath, '//*[@class="note-btn btn-codeview note-codeview-keep active"]').click
3992
4163
  rescue
3993
4164
  begin
4165
+
3994
4166
  @driver.find_element(:xpath, '//*[@for="html"]').click
3995
4167
  rescue
3996
4168
  begin
4169
+
3997
4170
  @driver.find_element(:xpath, '//*[@onclick="html_auto_br(this);"]').click
3998
4171
  rescue
3999
4172
  begin
4173
+
4000
4174
  @driver.find_element(:xpath, '//*[@data-title="코드보기"]').click
4001
4175
  rescue
4002
4176
  begin
4177
+
4003
4178
  @driver.find_element(:xpath, '//*[@title="에디터 타입"]').click
4004
4179
  rescue
4005
4180
  begin
4181
+
4006
4182
  @driver.find_element(:xpath, '//*[@aria-label="코드 보기"]').click
4007
4183
  rescue
4008
4184
  begin
4185
+
4009
4186
  @driver.find_element(:xpath, '//*[@id="fwrite"]/ul/li[2]/div/div/div').click
4010
4187
  rescue
4011
4188
  begin
4189
+
4012
4190
  @driver.find_element(:xpath, '//*[@data-cke-tooltip-text="소스"]').click
4013
4191
  rescue
4014
4192
  begin
4015
- @driver.find_element(:xpath, '//*[@id="moreMisc-1"]').click
4016
- sleep(1)
4193
+
4017
4194
  @driver.find_element(:xpath, '//*[@id="html-1"]').click
4018
4195
  rescue
4019
4196
  begin
4197
+
4020
4198
  @driver.find_element(:xpath, '//*[@id="html-1"]').click
4021
4199
  rescue
4022
4200
  begin
4201
+
4023
4202
  @driver.find_element(:xpath, '//*[@class="fas fa-code"]').click
4024
4203
  rescue
4025
4204
  puts '-[√] HTML 코드 탐색 실패.......'.red
@@ -4355,12 +4534,28 @@ if option['내용사진자동삽입'] == 'true'
4355
4534
  @driver.switch_to.window(@driver.window_handles[1]) # 팝업창에서 선택
4356
4535
  begin
4357
4536
  sleep(2)
4537
+ # 요소 찾기 타임아웃을 10초로 설정
4538
+ wait = Selenium::WebDriver::Wait.new(:timeout => 60)
4539
+ #요소가 나타날 때까지 60초 동안 기다립니다.
4540
+ wait.until { @driver.find_element(:xpath, '//*[@class="btn btn-success fileinput-button"]') }
4541
+ sleep(1)
4358
4542
  @driver.find_element(:xpath, '//*[@class="btn btn-success fileinput-button"]').click #이미지 올리기 버튼
4359
4543
  rescue
4360
4544
  begin
4361
- key_stroke('f5')
4362
- sleep(2)
4363
- @driver.find_element(:xpath, '//*[@class="btn btn-success fileinput-button"]').click #이미지 올리기 버튼
4545
+ @driver.close
4546
+ sleep(1)
4547
+ @driver.switch_to.window(@driver.window_handles[0])
4548
+ sleep(1)
4549
+ @driver.find_element(:xpath, '//*[@class="se2_photo ico_btn"]').click #이미지 버튼 선택
4550
+ sleep(2)
4551
+ @driver.switch_to.window(@driver.window_handles[1]) # 팝업창에서 선택
4552
+ sleep(2)
4553
+ # 요소 찾기 타임아웃을 10초로 설정
4554
+ wait = Selenium::WebDriver::Wait.new(:timeout => 60)
4555
+ #요소가 나타날 때까지 60초 동안 기다립니다.
4556
+ wait.until { @driver.find_element(:xpath, '//*[@class="btn btn-success fileinput-button"]') }
4557
+ sleep(1)
4558
+ @driver.find_element(:xpath, '//*[@class="btn btn-success fileinput-button"]').click #이미지 올리기 버튼
4364
4559
  rescue
4365
4560
  begin
4366
4561
  @driver.close
@@ -4376,7 +4571,10 @@ if option['내용사진자동삽입'] == 'true'
4376
4571
  sleep(3)
4377
4572
  key_stroke('enter')
4378
4573
  sleep(3)
4574
+ begin
4379
4575
  @driver.find_element(:xpath, '//*[@id="img_upload_submit"]').click #이미지 등록 버튼
4576
+ rescue
4577
+ end
4380
4578
  sleep(1)
4381
4579
  @driver.switch_to.window(@driver.window_handles[0])
4382
4580
  sleep(2)
@@ -5148,8 +5346,17 @@ puts '-[√] 캡챠 유형 탐색.......'.green
5148
5346
  begin
5149
5347
  @driver.switch_to.default_content()
5150
5348
  @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]').click
5151
-
5152
5349
  sleep(1)
5350
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5351
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5352
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5353
+ sleep(2)
5354
+ @driver.manage.window.maximize
5355
+ sleep(2)
5356
+ mouse_move_percentage(0.3,0.02)
5357
+ sleep(0.5)
5358
+ left_click
5359
+ sleep(2)
5153
5360
  el = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
5154
5361
  @driver.action.context_click(el).perform
5155
5362
  sleep(1)
@@ -5163,8 +5370,17 @@ rescue
5163
5370
  begin
5164
5371
  @driver.switch_to.default_content()
5165
5372
  @driver.find_element(:xpath, '//*[@alt="자동등록방지"]').click
5166
-
5167
5373
  sleep(1)
5374
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5375
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5376
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5377
+ sleep(2)
5378
+ @driver.manage.window.maximize
5379
+ sleep(2)
5380
+ mouse_move_percentage(0.3,0.02)
5381
+ sleep(0.5)
5382
+ left_click
5383
+ sleep(2)
5168
5384
  el = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
5169
5385
  @driver.action.context_click(el).perform
5170
5386
  sleep(1)
@@ -5178,8 +5394,17 @@ rescue
5178
5394
  begin
5179
5395
  @driver.switch_to.default_content()
5180
5396
  @driver.find_element(:xpath, '//*[@id="captcha_img"]').click
5181
-
5182
5397
  sleep(1)
5398
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5399
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5400
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5401
+ sleep(2)
5402
+ @driver.manage.window.maximize
5403
+ sleep(2)
5404
+ mouse_move_percentage(0.3,0.02)
5405
+ sleep(0.5)
5406
+ left_click
5407
+ sleep(2)
5183
5408
  el = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
5184
5409
  @driver.action.context_click(el).perform
5185
5410
  sleep(1)
@@ -5193,8 +5418,17 @@ rescue
5193
5418
  begin
5194
5419
  @driver.switch_to.default_content()
5195
5420
  @driver.find_element(:xpath, '//*[@id="kcaptcha"]').click
5196
-
5197
5421
  sleep(1)
5422
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5423
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5424
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5425
+ sleep(2)
5426
+ @driver.manage.window.maximize
5427
+ sleep(2)
5428
+ mouse_move_percentage(0.3,0.02)
5429
+ sleep(0.5)
5430
+ left_click
5431
+ sleep(2)
5198
5432
  el = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
5199
5433
  @driver.action.context_click(el).perform
5200
5434
  sleep(1)
@@ -5208,8 +5442,17 @@ rescue
5208
5442
  begin
5209
5443
  @driver.switch_to.default_content()
5210
5444
  @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]').click
5211
-
5212
5445
  sleep(1)
5446
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5447
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5448
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5449
+ sleep(2)
5450
+ @driver.manage.window.maximize
5451
+ sleep(2)
5452
+ mouse_move_percentage(0.3,0.02)
5453
+ sleep(0.5)
5454
+ left_click
5455
+ sleep(2)
5213
5456
  el = @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
5214
5457
  @driver.action.context_click(el).perform
5215
5458
  sleep(1)
@@ -5224,8 +5467,17 @@ rescue
5224
5467
  @driver.switch_to.default_content()
5225
5468
  sleep(1)
5226
5469
  @driver.find_element(:xpath, '//*[@id="captcha_Write"]').click
5227
-
5228
5470
  sleep(1)
5471
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5472
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5473
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5474
+ sleep(2)
5475
+ @driver.manage.window.maximize
5476
+ sleep(2)
5477
+ mouse_move_percentage(0.3,0.02)
5478
+ sleep(0.5)
5479
+ left_click
5480
+ sleep(2)
5229
5481
  el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
5230
5482
  @driver.action.context_click(el).perform
5231
5483
  sleep(1)
@@ -5239,8 +5491,17 @@ rescue
5239
5491
  begin
5240
5492
  @driver.switch_to.default_content()
5241
5493
  @driver.find_element(:xpath, '//*[@image-reader="in-progress"]').click
5242
-
5243
5494
  sleep(1)
5495
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5496
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5497
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5498
+ sleep(2)
5499
+ @driver.manage.window.maximize
5500
+ sleep(2)
5501
+ mouse_move_percentage(0.3,0.02)
5502
+ sleep(0.5)
5503
+ left_click
5504
+ sleep(2)
5244
5505
  el = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
5245
5506
  @driver.action.context_click(el).perform
5246
5507
  sleep(1)
@@ -5254,8 +5515,17 @@ rescue
5254
5515
  begin
5255
5516
  @driver.switch_to.default_content()
5256
5517
  @driver.find_element(:xpath, '//*[@id="spamauth"]').click
5257
-
5258
5518
  sleep(1)
5519
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5520
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5521
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5522
+ sleep(2)
5523
+ @driver.manage.window.maximize
5524
+ sleep(2)
5525
+ mouse_move_percentage(0.3,0.02)
5526
+ sleep(0.5)
5527
+ left_click
5528
+ sleep(2)
5259
5529
  el = @driver.find_element(:xpath, '//*[@id="spamauth"]')
5260
5530
  @driver.action.context_click(el).perform
5261
5531
  sleep(1)
@@ -5269,8 +5539,17 @@ rescue
5269
5539
  begin
5270
5540
  @driver.switch_to.default_content()
5271
5541
  @driver.find_element(:xpath, '//*[@id="norobot_img"]').click
5272
-
5273
5542
  sleep(1)
5543
+ puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
5544
+ puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
5545
+ @driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
5546
+ sleep(2)
5547
+ @driver.manage.window.maximize
5548
+ sleep(2)
5549
+ mouse_move_percentage(0.3,0.02)
5550
+ sleep(0.5)
5551
+ left_click
5552
+ sleep(2)
5274
5553
  el = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
5275
5554
  @driver.action.context_click(el).perform
5276
5555
  sleep(1)
@@ -5294,11 +5573,17 @@ end
5294
5573
  ##캡챠 이미지,2캡챠,,등등 코드 부분─────────────────────────────────────────────────────────────────────>
5295
5574
 
5296
5575
  sleep(1)
5576
+
5297
5577
  ##캡챠 해제 입력 코드 부분─────────────────────────────────────────────────────────────────────>
5298
5578
  puts '-[√] 캡챠 입력 항목 탐색.......'.green
5299
5579
  begin
5300
5580
  @driver.find_element(:xpath, '//*[@name="captcha_key"]').click
5581
+
5301
5582
  sleep(1)
5583
+ mouse_move_percentage(0.3,0.02)
5584
+ sleep(0.5)
5585
+ left_click
5586
+ sleep(2)
5302
5587
  el = @driver.find_element(:xpath, '//*[@name="captcha_key"]')
5303
5588
  @driver.action.context_click(el).perform
5304
5589
  sleep(1)
@@ -5332,7 +5617,12 @@ begin
5332
5617
  rescue
5333
5618
  begin
5334
5619
  @driver.find_element(:xpath, '//*[@id="captcha_key"]').click
5620
+
5335
5621
  sleep(1)
5622
+ mouse_move_percentage(0.3,0.02)
5623
+ sleep(0.5)
5624
+ left_click
5625
+ sleep(2)
5336
5626
  el = @driver.find_element(:xpath, '//*[@id="captcha_key"]')
5337
5627
  @driver.action.context_click(el).perform
5338
5628
 
@@ -5366,7 +5656,12 @@ rescue
5366
5656
  rescue
5367
5657
  begin
5368
5658
  @driver.find_element(:xpath, '=//*[@id="code"]').click
5659
+
5369
5660
  sleep(1)
5661
+ mouse_move_percentage(0.3,0.02)
5662
+ sleep(0.5)
5663
+ left_click
5664
+ sleep(2)
5370
5665
  el = @driver.find_element(:xpath, '//*[@id="code"]')
5371
5666
  @driver.action.context_click(el).perform
5372
5667
 
@@ -5400,7 +5695,12 @@ rescue
5400
5695
  rescue
5401
5696
  begin
5402
5697
  @driver.find_element(:xpath, '//*[@id="kboard-input-captcha"]').click
5698
+
5403
5699
  sleep(1)
5700
+ mouse_move_percentage(0.3,0.02)
5701
+ sleep(0.5)
5702
+ left_click
5703
+ sleep(2)
5404
5704
  el = @driver.find_element(:xpath, '//*[@id="kboard-input-captcha"]')
5405
5705
  @driver.action.context_click(el).perform
5406
5706
 
@@ -5434,7 +5734,12 @@ rescue
5434
5734
  rescue
5435
5735
  begin
5436
5736
  @driver.find_element(:xpath, '//*[@fw-label="보안문자"]').click
5737
+
5437
5738
  sleep(1)
5739
+ mouse_move_percentage(0.3,0.02)
5740
+ sleep(0.5)
5741
+ left_click
5742
+ sleep(2)
5438
5743
  el = @driver.find_element(:xpath, '//*[@fw-label="보안문자"]')
5439
5744
  @driver.action.context_click(el).perform
5440
5745
 
@@ -5468,7 +5773,12 @@ rescue
5468
5773
  rescue
5469
5774
  begin
5470
5775
  @driver.find_element(:xpath, '//*[@name="captcha"]').click
5776
+
5471
5777
  sleep(1)
5778
+ mouse_move_percentage(0.3,0.02)
5779
+ sleep(0.5)
5780
+ left_click
5781
+ sleep(2)
5472
5782
  el = @driver.find_element(:xpath, '//*[@name="captcha"]')
5473
5783
  @driver.action.context_click(el).perform
5474
5784
 
@@ -5502,7 +5812,12 @@ rescue
5502
5812
  rescue
5503
5813
  begin
5504
5814
  @driver.find_element(:xpath, '//*[@id="spamCode"]').click
5815
+
5505
5816
  sleep(1)
5817
+ mouse_move_percentage(0.3,0.02)
5818
+ sleep(0.5)
5819
+ left_click
5820
+ sleep(2)
5506
5821
  el = @driver.find_element(:xpath, '//*[@id="spamCode"]')
5507
5822
  @driver.action.context_click(el).perform
5508
5823
 
@@ -5536,7 +5851,12 @@ rescue
5536
5851
  rescue
5537
5852
  begin
5538
5853
  @driver.find_element(:xpath, '//*[@id="norobot_code"]').click
5854
+
5539
5855
  sleep(1)
5856
+ mouse_move_percentage(0.3,0.02)
5857
+ sleep(0.5)
5858
+ left_click
5859
+ sleep(2)
5540
5860
  el = @driver.find_element(:xpath, '//*[@id="norobot_code"]')
5541
5861
  @driver.action.context_click(el).perform
5542
5862
 
@@ -5571,7 +5891,12 @@ rescue
5571
5891
  @driver.switch_to.default_content()
5572
5892
  sleep(1)
5573
5893
  @driver.find_element(:xpath, '//*[@name="kcaptcha_code"]').click
5894
+
5574
5895
  sleep(1)
5896
+ mouse_move_percentage(0.3,0.02)
5897
+ sleep(0.5)
5898
+ left_click
5899
+ sleep(2)
5575
5900
  el = @driver.find_element(:xpath, '//*[@name="kcaptcha_code"]')
5576
5901
  @driver.action.context_click(el).perform
5577
5902
 
@@ -5640,10 +5965,10 @@ sleep(10)
5640
5965
  @driver.find_element(:xpath, '//*[@data-state="error"]').click
5641
5966
  puts '-[√] 1 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
5642
5967
  puts '-[√] 2 캡챠 해제 실패 !! API번호 및 포인트를 체크해주세요.......'.red
5643
- @driver.quit()
5968
+ @driver.quit
5644
5969
  rescue
5645
5970
  # 타임아웃을 77초로 설정
5646
- wait = Selenium::WebDriver::Wait.new(:timeout => 100)
5971
+ wait = Selenium::WebDriver::Wait.new(:timeout => 150)
5647
5972
  # 요소가 나타날 때까지 100초 동안 기다립니다.
5648
5973
  wait.until { @driver.find_element(:xpath, '//*[@data-state="solved"]') }
5649
5974
  sleep(1)
@@ -5661,10 +5986,14 @@ end
5661
5986
  ##등록 버튼 코드 부분─────────────────────────────────────────────────────────────────────>
5662
5987
  puts '-[√] HTML 버튼 복구 여부 체크.......'.yellow
5663
5988
  begin
5989
+ @driver.find_element(:xpath, '//*[@aria-label="코드 보기"]').send_keys()
5990
+ sleep(1)
5664
5991
  @driver.find_element(:xpath, '//*[@aria-label="코드 보기"]').click
5665
5992
  sleep(1)
5666
5993
  rescue
5667
5994
  begin
5995
+ @driver.find_element(:xpath, '//*[@class="note-icon-code"]').send_keys()
5996
+ sleep(1)
5668
5997
  @driver.find_element(:xpath, '//*[@class="note-icon-code"]').click
5669
5998
  sleep(1)
5670
5999
  rescue
@@ -5673,116 +6002,178 @@ rescue
5673
6002
  end
5674
6003
  ##<─────────────────────────────────────────────────────────────────────캡챠 해제 입력 코드 부분
5675
6004
  sleep(1)
5676
-
6005
+ @driver.action.key_down(:tab).key_up(:tab).perform #x탭
5677
6006
  #@driver.execute_script("document.body.style.zoom = '0.70'")
5678
6007
  sleep(1)
5679
6008
  ##등록 버튼 코드 부분─────────────────────────────────────────────────────────────────────>
5680
6009
  puts '-[√] 내용 등록 버튼 탐색 시작.......'.yellow
5681
6010
  ########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 ▼▼▼▼▼▼▼──────────────────────────────#######
5682
6011
  begin
5683
- @driver.find_element(:xpath, '//*[@value="등록"]').click
6012
+ @driver.find_element(:xpath, '//*[@value="등록"]').send_keys()
6013
+ sleep(2)
6014
+
6015
+ @driver.find_element(:xpath, '//*[@value="등록"]').send_keys(:enter)
5684
6016
  puts '-[√] 등록을 1번 코드로 시도하였습니다.......'.magenta
5685
6017
  sleep(5)
5686
6018
  rescue
5687
6019
  begin
5688
- @driver.find_element(:xpath, '//*[@alt="등록"]').click
6020
+ @driver.find_element(:xpath, '//*[@alt="등록"]').send_keys()
6021
+ sleep(2)
6022
+
6023
+ @driver.find_element(:xpath, '//*[@alt="등록"]').send_keys(:enter)
5689
6024
  puts '-[√] 등록을 2번 코드로 시도하였습니다.......'.magenta
5690
6025
  sleep(5)
5691
6026
  rescue
5692
6027
  begin
5693
- @driver.find_element(:xpath, '//*[@value="작성완료"]').click
6028
+ @driver.find_element(:xpath, '//*[@value="작성완료"]').send_keys()
6029
+ sleep(2)
6030
+
6031
+ @driver.find_element(:xpath, '//*[@value="작성완료"]').send_keys(:enter)
5694
6032
  puts '-[√] 등록을 3번 코드로 시도하였습니다.......'.magenta
5695
6033
  sleep(5)
5696
6034
  rescue
5697
6035
  begin
5698
- @driver.find_element(:xpath, '//*[@id="btn_submit"]').click
6036
+ @driver.find_element(:xpath, '//*[@id="btn_submit"]').send_keys()
6037
+ sleep(2)
6038
+ @driver.find_element(:xpath, '//*[@id="btn_submit"]').send_keys(:enter)
5699
6039
  puts '-[√] 등록을 4번 코드로 시도하였습니다.......'.magenta
5700
6040
  sleep(5)
5701
6041
  rescue
5702
6042
  begin
5703
- @driver.find_element(:xpath, '//*[@class="btn btn-success btn-sm"]')
6043
+ @driver.find_element(:xpath, '//*[@class="btn btn-success btn-sm"]').send_keys()
6044
+ sleep(2)
6045
+
6046
+ @driver.find_element(:xpath, '//*[@class="btn btn-success btn-sm"]').send_keys(:enter)
5704
6047
  puts '-[√] 등록을 5번 코드로 시도하였습니다.......'.magenta
5705
6048
  sleep(5)
5706
6049
  rescue
5707
6050
  begin
5708
- @driver.find_element(:xpath, '//*[@class="btn btn-default btn-send-write"]').click
6051
+ @driver.find_element(:xpath, '//*[@class="btn btn-default btn-send-write"]').send_keys()
6052
+ sleep(2)
6053
+
6054
+ @driver.find_element(:xpath, '//*[@class="btn btn-default btn-send-write"]').send_keys(:enter)
5709
6055
  puts '-[√] 등록을 6번 코드로 시도하였습니다.......'.magenta
5710
6056
  sleep(5)
5711
6057
  rescue
5712
6058
  begin
5713
- @driver.find_element(:xpath, '//*[@title="확인"]').click
6059
+ @driver.find_element(:xpath, '//*[@title="확인"]').send_keys()
6060
+ sleep(2)
6061
+
6062
+ @driver.find_element(:xpath, '//*[@title="확인"]').send_keys(:enter)
5714
6063
  puts '-[√] 등록을 7번 코드로 시도하였습니다.......'.magenta
5715
6064
  sleep(5)
5716
6065
  rescue
5717
6066
  begin
5718
- @driver.find_element(:xpath, '//*[@id="btnSubmit"]').click
6067
+ @driver.find_element(:xpath, '//*[@id="btnSubmit"]').send_keys()
6068
+ sleep(2)
6069
+
6070
+ @driver.find_element(:xpath, '//*[@id="btnSubmit"]').send_keys(:enter)
5719
6071
  puts '-[√] 등록을 8번 코드로 시도하였습니다.......'.magenta
5720
6072
  sleep(5)
5721
6073
  rescue
5722
6074
  begin
5723
- @driver.find_element(:xpath, '//*[@src="images/board8_input.gif"]').click
6075
+ @driver.find_element(:xpath, '//*[@src="images/board8_input.gif"]').send_keys()
6076
+ sleep(2)
6077
+
6078
+ @driver.find_element(:xpath, '//*[@src="images/board8_input.gif"]').send_keys(:enter)
5724
6079
  puts '-[√] 등록을 9번 코드로 시도하였습니다.......'.magenta
5725
6080
  sleep(5)
5726
6081
  rescue
5727
6082
  begin
5728
- @driver.find_element(:xpath, '//*[@align="absmiddle"]').click
6083
+ @driver.find_element(:xpath, '//*[@align="absmiddle"]').send_keys()
6084
+ sleep(2)
6085
+
6086
+ @driver.find_element(:xpath, '//*[@align="absmiddle"]').send_keys(:enter)
5729
6087
  puts '-[√] 등록을 10번 코드로 시도하였습니다.......'.magenta
5730
6088
  sleep(5)
5731
6089
  rescue
5732
6090
  begin
5733
- @driver.find_element(:partial_link_text, '작성완료').click #요소같고 텍스트가 다를때 텍스트로 타겟
6091
+ @driver.find_element(:partial_link_text, '작성완료').send_keys()
6092
+ sleep(2)
6093
+
6094
+ @driver.find_element(:partial_link_text, '작성완료').send_keys(:enter) #요소같고 텍스트가 다를때 텍스트로 타겟
5734
6095
  puts '-[√] 등록을 11번 코드로 시도하였습니다.......'.magenta
5735
6096
  sleep(5)
5736
6097
  rescue
5737
6098
  begin
5738
- @driver.find_element(:xpath, '//*[@class="_save_post save_post btn"]').click
6099
+ @driver.find_element(:xpath, '//*[@class="_save_post save_post btn"]').send_keys()
6100
+ sleep(2)
6101
+
6102
+ @driver.find_element(:xpath, '//*[@class="_save_post save_post btn"]').send_keys(:enter)
5739
6103
  puts '-[√] 등록을 12번 코드로 시도하였습니다.......'.magenta
5740
6104
  sleep(5)
5741
6105
  rescue
5742
6106
  begin
5743
- @driver.find_element(:xpath, '//*[@id="main_btn_box"]/button').click
6107
+ @driver.find_element(:xpath, '//*[@id="main_btn_box"]/button').send_keys()
6108
+ sleep(2)
6109
+
6110
+ @driver.find_element(:xpath, '//*[@id="main_btn_box"]/button').send_keys(:enter)
5744
6111
  puts '-[√] 등록을 13번 코드로 시도하였습니다.......'.magenta
5745
6112
  sleep(5)
5746
6113
  rescue
5747
6114
  begin
5748
- @driver.find_element(:xpath, '//*[@type="submit"]').click
6115
+ @driver.find_element(:xpath, '//*[@type="submit"]').send_keys()
6116
+ sleep(2)
6117
+
6118
+ @driver.find_element(:xpath, '//*[@type="submit"]').send_keys(:enter)
5749
6119
  puts '-[√] 등록을 14번 코드로 시도하였습니다.......'.magenta
5750
6120
  sleep(5)
5751
6121
  rescue
5752
6122
  begin
5753
- @driver.find_element(:xpath, '//*[@id="bd-write-btns"]/button').click
6123
+ @driver.find_element(:xpath, '//*[@id="bd-write-btns"]/button').send_keys()
6124
+ sleep(2)
6125
+
6126
+ @driver.find_element(:xpath, '//*[@id="bd-write-btns"]/button').send_keys(:enter)
5754
6127
  puts '-[√] 등록을 15번 코드로 시도하였습니다.......'.magenta
5755
6128
  sleep(5)
5756
6129
  rescue
5757
6130
  begin
5758
- @driver.find_element(:xpath, '//*[@id="com_btn"]').click
6131
+ @driver.find_element(:xpath, '//*[@id="com_btn"]').send_keys()
6132
+ sleep(2)
6133
+
6134
+ @driver.find_element(:xpath, '//*[@id="com_btn"]').send_keys(:enter)
5759
6135
  puts '-[√] 등록을 16번 코드로 시도하였습니다.......'.magenta
5760
6136
  sleep(5)
5761
6137
  rescue
5762
6138
  begin
5763
- @driver.find_element(:xpath, '//*[@class="submit"]').click
6139
+ @driver.find_element(:xpath, '//*[@class="submit"]').send_keys()
6140
+ sleep(2)
6141
+
6142
+ @driver.find_element(:xpath, '//*[@class="submit"]').send_keys(:enter)
5764
6143
  puts '-[√] 등록을 17번 코드로 시도하였습니다.......'.magenta
5765
6144
  sleep(5)
5766
6145
  rescue
5767
6146
  begin
5768
- @driver.find_element(:xpath, '//*[@id="savePostInBoard"]').click
6147
+ @driver.find_element(:xpath, '//*[@id="savePostInBoard"]').send_keys()
6148
+ sleep(2)
6149
+
6150
+ @driver.find_element(:xpath, '//*[@id="savePostInBoard"]').send_keys(:enter)
5769
6151
  puts '-[√] 등록을 18번 코드로 시도하였습니다.......'.magenta
5770
6152
  sleep(5)
5771
6153
  rescue
5772
6154
  begin
5773
- @driver.find_element(:xpath, '//*[@form="write"]').click
6155
+ @driver.find_element(:xpath, '//*[@form="write"]').send_keys()
6156
+ sleep(2)
6157
+
6158
+ @driver.find_element(:xpath, '//*[@form="write"]').send_keys(:enter)
5774
6159
  puts '-[√] 등록을 19번 코드로 시도하였습니다.......'.magenta
5775
6160
  sleep(5)
5776
6161
 
5777
6162
  rescue
5778
6163
  begin
5779
- @driver.find_element(:partial_link_text, '저장하기').click #요소같고 텍스트가 다를때 텍스트로 타겟
6164
+ @driver.find_element(:partial_link_text, '저장하기').send_keys()
6165
+ sleep(2)
6166
+
6167
+ @driver.find_element(:partial_link_text, '저장하기').send_keys(:enter) #요소같고 텍스트가 다를때 텍스트로 타겟
5780
6168
  puts '-[√] 등록을 20번 코드로 시도하였습니다.......'.magenta
5781
6169
  sleep(5)
5782
6170
 
5783
6171
  rescue
5784
6172
  begin
5785
- @driver.find_element(:xpath, '//*[@id="boardWriteForm"]/div/div[3]/a[2]').click
6173
+ @driver.find_element(:xpath, '//*[@id="boardWriteForm"]/div/div[3]/a[2]').send_keys()
6174
+ sleep(2)
6175
+
6176
+ @driver.find_element(:xpath, '//*[@id="boardWriteForm"]/div/div[3]/a[2]').send_keys(:enter)
5786
6177
  puts '-[√] 등록을 21시도하였습니다.......'.magenta
5787
6178
  sleep(5)
5788
6179
 
@@ -5791,7 +6182,9 @@ rescue
5791
6182
  begin
5792
6183
  puts '-[√] 등록 버튼 코드 탐색에 실패하였습니다.......'.magenta
5793
6184
  puts '-[√] 다른 방법으로 등록을 시도 합니다.......'.magenta
5794
-
6185
+ @driver.action.send_keys(:page_up).perform #스크롤 내리기
6186
+ sleep(1)
6187
+ @driver.find_element(:xpath, '//*[@id="wr_subject"]').send_keys()
5795
6188
  sleep(1)
5796
6189
  @driver.find_element(:xpath, '//*[@id="wr_subject"]').click
5797
6190
  sleep(1)
@@ -5800,6 +6193,8 @@ rescue
5800
6193
  sleep(5)
5801
6194
  rescue
5802
6195
  begin
6196
+ @driver.find_element(:xpath, '//*[@fw-label="제목"]').send_keys()
6197
+ sleep(1)
5803
6198
  @driver.find_element(:xpath, '//*[@fw-label="제목"]').click
5804
6199
  sleep(1)
5805
6200
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5807,6 +6202,8 @@ rescue
5807
6202
  sleep(5)
5808
6203
  rescue
5809
6204
  begin
6205
+ @driver.find_element(:xpath, '//*[@name="subject"]').send_keys()
6206
+ sleep(1)
5810
6207
  @driver.find_element(:xpath, '//*[@name="subject"]').click
5811
6208
  sleep(1)
5812
6209
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5814,6 +6211,8 @@ rescue
5814
6211
  sleep(5)
5815
6212
  rescue
5816
6213
  begin
6214
+ @driver.find_element(:xpath, '//*[@name="title"]').send_keys()
6215
+ sleep(1)
5817
6216
  @driver.find_element(:xpath, '//*[@name="title"]').click
5818
6217
  sleep(1)
5819
6218
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5821,6 +6220,8 @@ rescue
5821
6220
  sleep(5)
5822
6221
  rescue
5823
6222
  begin
6223
+ @driver.find_element(:xpath, '//*[@id="wr_title"]').send_keys()
6224
+ sleep(1)
5824
6225
  @driver.find_element(:xpath, '//*[@id="wr_title"]').click
5825
6226
  sleep(1)
5826
6227
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5828,6 +6229,8 @@ rescue
5828
6229
  sleep(5)
5829
6230
  rescue
5830
6231
  begin
6232
+ @driver.find_element(:xpath, '//*[@id="title"]').send_keys()
6233
+ sleep(1)
5831
6234
  @driver.find_element(:xpath, '//*[@id="title"]').click
5832
6235
  sleep(1)
5833
6236
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5835,6 +6238,8 @@ rescue
5835
6238
  sleep(5)
5836
6239
  rescue
5837
6240
  begin
6241
+ @driver.find_element(:xpath, '//*[@id="postTitle"]').send_keys()
6242
+ sleep(1)
5838
6243
  @driver.find_element(:xpath, '//*[@id="postTitle"]').click
5839
6244
  sleep(1)
5840
6245
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5842,6 +6247,8 @@ rescue
5842
6247
  sleep(5)
5843
6248
  rescue
5844
6249
  begin
6250
+ @driver.find_element(:xpath, '//*[@title="input"]').send_keys()
6251
+ sleep(1)
5845
6252
  @driver.find_element(:xpath, '//*[@title="input"]').click
5846
6253
  sleep(1)
5847
6254
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5849,6 +6256,8 @@ rescue
5849
6256
  sleep(5)
5850
6257
  rescue
5851
6258
  begin
6259
+ @driver.find_element(:xpath, '//*[@name="wr_subject"]').send_keys()
6260
+ sleep(1)
5852
6261
  @driver.find_element(:xpath, '//*[@name="wr_subject"]').click
5853
6262
  sleep(1)
5854
6263
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5856,6 +6265,8 @@ rescue
5856
6265
  sleep(5)
5857
6266
  rescue
5858
6267
  begin
6268
+ @driver.find_element(:xpath, '//*[@name="post_title"]').send_keys()
6269
+ sleep(1)
5859
6270
  @driver.find_element(:xpath, '//*[@name="post_title"]').click
5860
6271
  sleep(1)
5861
6272
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5863,6 +6274,8 @@ rescue
5863
6274
  sleep(5)
5864
6275
  rescue
5865
6276
  begin
6277
+ @driver.find_element(:xpath, '//*[@title="제목"]').send_keys()
6278
+ sleep(1)
5866
6279
  @driver.find_element(:xpath, '//*[@title="제목"]').click
5867
6280
  sleep(1)
5868
6281
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5870,6 +6283,8 @@ rescue
5870
6283
  sleep(5)
5871
6284
  rescue
5872
6285
  begin
6286
+ @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').send_keys()
6287
+ sleep(1)
5873
6288
  @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]').click
5874
6289
  sleep(1)
5875
6290
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5877,6 +6292,8 @@ rescue
5877
6292
  sleep(5)
5878
6293
  rescue
5879
6294
  begin
6295
+ @driver.find_element(:xpath, '//*[@placeholder="제목"]').send_keys()
6296
+ sleep(1)
5880
6297
  @driver.find_element(:xpath, '//*[@placeholder="제목"]').click
5881
6298
  sleep(1)
5882
6299
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5884,6 +6301,8 @@ rescue
5884
6301
  sleep(5)
5885
6302
  rescue
5886
6303
  begin
6304
+ @driver.find_element(:xpath, '//*[@hname="제목"]').send_keys()
6305
+ sleep(1)
5887
6306
  @driver.find_element(:xpath, '//*[@hname="제목"]').click
5888
6307
  sleep(1)
5889
6308
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5891,6 +6310,8 @@ rescue
5891
6310
  sleep(5)
5892
6311
  rescue
5893
6312
  begin
6313
+ @driver.find_element(:xpath, '//*[@id="post_subject"]').send_keys()
6314
+ sleep(1)
5894
6315
  @driver.find_element(:xpath, '//*[@id="post_subject"]').click
5895
6316
  sleep(1)
5896
6317
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5898,6 +6319,8 @@ rescue
5898
6319
  sleep(5)
5899
6320
  rescue
5900
6321
  begin
6322
+ @driver.find_element(:xpath, '//*[@id="search_bar"]').send_keys()
6323
+ sleep(1)
5901
6324
  @driver.find_element(:xpath, '//*[@id="search_bar"]').click
5902
6325
  sleep(1)
5903
6326
  @driver.action.key_down(:enter).key_up(:enter).perform #엔터
@@ -5983,6 +6406,7 @@ rescue
5983
6406
  ff.write('【등록실패내용:')
5984
6407
  ff.write(error_text)
5985
6408
  ff.write('】')
6409
+ ff.close()
5986
6410
  puts '-[√] 로그 파일 생성 완료.......'.yellow
5987
6411
  end
5988
6412