posting_zon 0.0.60 → 0.0.63
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_zon.rb +431 -472
- metadata +2 -2
data/lib/posting_zon.rb
CHANGED
@@ -31,6 +31,7 @@ class Naver
|
|
31
31
|
def chrome_start(proxy)
|
32
32
|
if proxy == ''
|
33
33
|
begin
|
34
|
+
|
34
35
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
35
36
|
options = Selenium::WebDriver::Chrome::Options.new
|
36
37
|
options.add_extension('./crx/free.crx')
|
@@ -61,6 +62,7 @@ class Naver
|
|
61
62
|
|
62
63
|
# Selenium 4에서는 'capabilities'만 사용하는 방식
|
63
64
|
@driver = Selenium::WebDriver.for(:chrome, capabilities: [capabilities, options])
|
65
|
+
|
64
66
|
|
65
67
|
@driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: function(){ return false; }});") # 셀레니움 감지 방지
|
66
68
|
|
@@ -388,7 +390,7 @@ sleep(2)
|
|
388
390
|
# Alert 처리 부분
|
389
391
|
begin
|
390
392
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
391
|
-
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
393
|
+
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
392
394
|
alert.accept # 알림을 확인
|
393
395
|
rescue
|
394
396
|
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
@@ -1484,29 +1486,20 @@ begin
|
|
1484
1486
|
@driver.switch_to.default_content()
|
1485
1487
|
#@driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
1486
1488
|
el = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
1487
|
-
@driver.action.move_to(el).perform
|
1488
1489
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1489
1490
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1490
1491
|
puts '-[√] 챕챠 코드 code 1.......'.red
|
1491
1492
|
sleep(1)
|
1493
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1494
|
+
sleep(1)
|
1492
1495
|
mouse_move_percentage(0.3,0.02)
|
1493
1496
|
sleep(0.5)
|
1494
|
-
left_click
|
1495
|
-
sleep(1)
|
1496
|
-
@driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]').click
|
1497
|
+
left_click
|
1497
1498
|
sleep(1)
|
1498
|
-
|
1499
|
-
|
1500
|
-
#@driver.manage.window.maximize
|
1501
|
-
|
1502
|
-
|
1503
|
-
el1 = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
1504
|
-
@driver.action.context_click(el1).perform
|
1499
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1500
|
+
@driver.action.context_click(el).perform #우 클릭
|
1505
1501
|
sleep(1)
|
1506
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
1507
|
-
#key_down('shift')
|
1508
|
-
#key_stroke('m')
|
1509
|
-
#key_up('shift')
|
1502
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1510
1503
|
sleep(1)
|
1511
1504
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1512
1505
|
rescue
|
@@ -1514,29 +1507,20 @@ rescue
|
|
1514
1507
|
@driver.switch_to.default_content()
|
1515
1508
|
#@driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
1516
1509
|
el = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
1517
|
-
@driver.action.move_to(el).perform
|
1518
1510
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1519
1511
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1520
1512
|
puts '-[√] 챕챠 코드 code 2.......'.red
|
1521
1513
|
sleep(1)
|
1514
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1515
|
+
sleep(1)
|
1522
1516
|
mouse_move_percentage(0.3,0.02)
|
1523
1517
|
sleep(0.5)
|
1524
|
-
left_click
|
1525
|
-
sleep(1)
|
1526
|
-
@driver.find_element(:xpath, '//*[@alt="자동등록방지"]').click
|
1518
|
+
left_click
|
1527
1519
|
sleep(1)
|
1528
|
-
|
1529
|
-
|
1530
|
-
#@driver.manage.window.maximize
|
1531
|
-
|
1532
|
-
|
1533
|
-
el1 = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
1534
|
-
@driver.action.context_click(el1).perform
|
1520
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1521
|
+
@driver.action.context_click(el).perform #우 클릭
|
1535
1522
|
sleep(1)
|
1536
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
1537
|
-
#key_down('shift')
|
1538
|
-
#key_stroke('m')
|
1539
|
-
#key_up('shift')
|
1523
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1540
1524
|
sleep(1)
|
1541
1525
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1542
1526
|
rescue
|
@@ -1545,35 +1529,26 @@ rescue
|
|
1545
1529
|
sleep(1)
|
1546
1530
|
#@driver.find_element(:xpath, '//*[@id="captcha_img"]').send_keys(:tab)
|
1547
1531
|
el = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
|
1548
|
-
@driver.action.move_to(el).perform
|
1549
1532
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1550
1533
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1551
1534
|
puts '-[√] 챕챠 코드 code 3.......'.red
|
1552
1535
|
sleep(1)
|
1553
|
-
begin
|
1554
1536
|
#요소 자체 제거 하기 기능
|
1555
1537
|
chat_box = @driver.find_element(:xpath, '//*[@for="captcha_key"]')
|
1556
1538
|
@driver.execute_script("arguments[0].remove();", chat_box)
|
1557
1539
|
sleep(1)
|
1558
|
-
|
1559
|
-
|
1540
|
+
|
1541
|
+
sleep(1)
|
1542
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1543
|
+
sleep(1)
|
1560
1544
|
mouse_move_percentage(0.3,0.02)
|
1561
1545
|
sleep(0.5)
|
1562
|
-
left_click
|
1546
|
+
left_click
|
1563
1547
|
sleep(1)
|
1564
|
-
@driver.
|
1548
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1549
|
+
@driver.action.context_click(el).perform #우 클릭
|
1565
1550
|
sleep(1)
|
1566
|
-
|
1567
|
-
|
1568
|
-
|
1569
|
-
|
1570
|
-
el1 = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
|
1571
|
-
@driver.action.context_click(el1).perform
|
1572
|
-
sleep(1)
|
1573
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
1574
|
-
#key_down('shift')
|
1575
|
-
#key_stroke('m')
|
1576
|
-
#key_up('shift')
|
1551
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1577
1552
|
sleep(1)
|
1578
1553
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1579
1554
|
rescue
|
@@ -1581,281 +1556,226 @@ rescue
|
|
1581
1556
|
@driver.switch_to.default_content()
|
1582
1557
|
#@driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
1583
1558
|
el = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
1584
|
-
@driver.action.move_to(el).perform
|
1585
1559
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1586
1560
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1587
1561
|
puts '-[√] 챕챠 코드 code 4.......'.red
|
1588
1562
|
sleep(1)
|
1563
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1564
|
+
sleep(1)
|
1589
1565
|
mouse_move_percentage(0.3,0.02)
|
1590
1566
|
sleep(0.5)
|
1591
|
-
left_click
|
1567
|
+
left_click
|
1592
1568
|
sleep(1)
|
1593
|
-
@driver.
|
1569
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1570
|
+
@driver.action.context_click(el).perform #우 클릭
|
1594
1571
|
sleep(1)
|
1595
|
-
|
1596
|
-
#sleep(2)
|
1597
|
-
#@driver.manage.window.maximize
|
1598
|
-
|
1599
|
-
|
1600
|
-
el1 = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
1601
|
-
@driver.action.context_click(el1).perform
|
1602
|
-
sleep(1)
|
1603
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
1604
|
-
#key_down('shift')
|
1605
|
-
#key_stroke('m')
|
1606
|
-
#key_up('shift')
|
1572
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1607
1573
|
sleep(1)
|
1608
1574
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1609
1575
|
rescue
|
1610
1576
|
begin
|
1611
1577
|
@driver.switch_to.default_content()
|
1612
|
-
|
1613
|
-
|
1614
|
-
|
1578
|
+
@driver.find_elements(:tag_name, 'img').each do |img|
|
1579
|
+
if img.attribute('src').include?('kboard_captcha')
|
1580
|
+
el = img # 캡챠 이미지를 el에 저장
|
1581
|
+
break # 첫 번째 이미지를 찾으면 루프 종료
|
1582
|
+
end
|
1583
|
+
end
|
1615
1584
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1616
1585
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1617
|
-
puts '-[√] 챕챠 코드 code 5.......'.red
|
1586
|
+
puts '-[√] 챕챠 코드 code 5-1.......'.red
|
1587
|
+
sleep(1)
|
1588
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1618
1589
|
sleep(1)
|
1619
1590
|
mouse_move_percentage(0.3,0.02)
|
1620
1591
|
sleep(0.5)
|
1621
|
-
left_click
|
1592
|
+
left_click
|
1622
1593
|
sleep(1)
|
1623
|
-
@driver.
|
1594
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1595
|
+
@driver.action.context_click(el).perform #우 클릭
|
1624
1596
|
sleep(1)
|
1625
|
-
|
1626
|
-
#sleep(2)
|
1627
|
-
#@driver.manage.window.maximize
|
1628
|
-
|
1629
|
-
el1 = @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
|
1630
|
-
@driver.action.context_click(el1).perform
|
1631
|
-
sleep(1)
|
1632
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
1633
|
-
#key_down('shift')
|
1634
|
-
#key_stroke('m')
|
1635
|
-
#key_up('shift')
|
1597
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1636
1598
|
sleep(1)
|
1637
1599
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1638
1600
|
rescue
|
1639
1601
|
begin
|
1640
1602
|
@driver.switch_to.default_content()
|
1641
|
-
|
1642
|
-
|
1643
|
-
el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
1644
|
-
@driver.action.move_to(el).perform
|
1603
|
+
#@driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
|
1604
|
+
el = @driver.find_element(:css, 'label[for="kboard-input-captcha"] img')
|
1645
1605
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1646
1606
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1647
|
-
puts '-[√] 챕챠 코드 code
|
1607
|
+
puts '-[√] 챕챠 코드 code 5-2.......'.red
|
1608
|
+
sleep(1)
|
1609
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1648
1610
|
sleep(1)
|
1649
1611
|
mouse_move_percentage(0.3,0.02)
|
1650
1612
|
sleep(0.5)
|
1651
|
-
left_click
|
1652
|
-
sleep(1)
|
1653
|
-
@driver.find_element(:xpath, '//*[@id="captcha_Write"]').click
|
1613
|
+
left_click
|
1654
1614
|
sleep(1)
|
1655
|
-
|
1656
|
-
|
1657
|
-
#@driver.manage.window.maximize
|
1658
|
-
|
1659
|
-
|
1660
|
-
el1 = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
1661
|
-
@driver.action.context_click(el1).perform
|
1615
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1616
|
+
@driver.action.context_click(el).perform #우 클릭
|
1662
1617
|
sleep(1)
|
1663
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
1664
|
-
#key_down('shift')
|
1665
|
-
#key_stroke('m')
|
1666
|
-
#key_up('shift')
|
1618
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1667
1619
|
sleep(1)
|
1668
1620
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1669
1621
|
rescue
|
1670
1622
|
begin
|
1671
1623
|
@driver.switch_to.default_content()
|
1672
|
-
|
1673
|
-
|
1674
|
-
@driver.
|
1624
|
+
sleep(1)
|
1625
|
+
#@driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
1626
|
+
el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
1675
1627
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1676
1628
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1677
|
-
puts '-[√] 챕챠 코드 code
|
1629
|
+
puts '-[√] 챕챠 코드 code 6.......'.red
|
1630
|
+
sleep(1)
|
1631
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1678
1632
|
sleep(1)
|
1679
1633
|
mouse_move_percentage(0.3,0.02)
|
1680
1634
|
sleep(0.5)
|
1681
|
-
left_click
|
1635
|
+
left_click
|
1682
1636
|
sleep(1)
|
1683
|
-
@driver.
|
1684
|
-
|
1685
|
-
#@driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
|
1686
|
-
#sleep(2)
|
1687
|
-
#@driver.manage.window.maximize
|
1688
|
-
|
1689
|
-
|
1690
|
-
el1 = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
1691
|
-
@driver.action.context_click(el1).perform
|
1637
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1638
|
+
@driver.action.context_click(el).perform #우 클릭
|
1692
1639
|
sleep(1)
|
1693
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
1694
|
-
#key_down('shift')
|
1695
|
-
#key_stroke('m')
|
1696
|
-
#key_up('shift')
|
1640
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1697
1641
|
sleep(1)
|
1698
1642
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1699
1643
|
rescue
|
1700
1644
|
begin
|
1701
1645
|
@driver.switch_to.default_content()
|
1702
|
-
#@driver.find_element(:xpath, '//*[@
|
1703
|
-
el = @driver.find_element(:xpath, '//*[@
|
1704
|
-
@driver.action.move_to(el).perform
|
1646
|
+
#@driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
1647
|
+
el = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
1705
1648
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1706
1649
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1707
|
-
puts '-[√] 챕챠 코드 code
|
1650
|
+
puts '-[√] 챕챠 코드 code 7.......'.red
|
1651
|
+
sleep(1)
|
1652
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1708
1653
|
sleep(1)
|
1709
1654
|
mouse_move_percentage(0.3,0.02)
|
1710
1655
|
sleep(0.5)
|
1711
|
-
left_click
|
1656
|
+
left_click
|
1712
1657
|
sleep(1)
|
1713
|
-
@driver.
|
1714
|
-
|
1715
|
-
#@driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
|
1716
|
-
#sleep(2)
|
1717
|
-
#@driver.manage.window.maximize
|
1718
|
-
|
1719
|
-
|
1720
|
-
el1 = @driver.find_element(:xpath, '//*[@id="spamauth"]')
|
1721
|
-
@driver.action.context_click(el1).perform
|
1658
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1659
|
+
@driver.action.context_click(el).perform #우 클릭
|
1722
1660
|
sleep(1)
|
1723
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
1724
|
-
#key_down('shift')
|
1725
|
-
#key_stroke('m')
|
1726
|
-
#key_up('shift')
|
1661
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1727
1662
|
sleep(1)
|
1728
1663
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1729
1664
|
rescue
|
1730
1665
|
begin
|
1731
1666
|
@driver.switch_to.default_content()
|
1732
|
-
#@driver.find_element(:xpath, '//*[@id="
|
1733
|
-
el = @driver.find_element(:xpath, '//*[@id="
|
1734
|
-
@driver.action.move_to(el).perform
|
1667
|
+
#@driver.find_element(:xpath, '//*[@id="spamauth"]')
|
1668
|
+
el = @driver.find_element(:xpath, '//*[@id="spamauth"]')
|
1735
1669
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1736
1670
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1737
|
-
puts '-[√] 챕챠 코드 code
|
1671
|
+
puts '-[√] 챕챠 코드 code 8.......'.red
|
1672
|
+
sleep(1)
|
1673
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1738
1674
|
sleep(1)
|
1739
1675
|
mouse_move_percentage(0.3,0.02)
|
1740
1676
|
sleep(0.5)
|
1741
|
-
left_click
|
1677
|
+
left_click
|
1742
1678
|
sleep(1)
|
1743
|
-
@driver.
|
1679
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1680
|
+
@driver.action.context_click(el).perform #우 클릭
|
1744
1681
|
sleep(1)
|
1745
|
-
|
1746
|
-
#sleep(2)
|
1747
|
-
#@driver.manage.window.maximize
|
1748
|
-
|
1749
|
-
|
1750
|
-
el1 = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
1751
|
-
@driver.action.context_click(el1).perform
|
1752
|
-
sleep(1)
|
1753
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
1754
|
-
#key_down('shift')
|
1755
|
-
#key_stroke('m')
|
1756
|
-
#key_up('shift')
|
1682
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1757
1683
|
sleep(1)
|
1758
1684
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1759
1685
|
rescue
|
1760
1686
|
begin
|
1761
1687
|
@driver.switch_to.default_content()
|
1762
|
-
#@driver.find_element(:xpath, '//*[@
|
1763
|
-
el = @driver.find_element(:xpath, '//*[@
|
1764
|
-
@driver.action.move_to(el).perform
|
1688
|
+
#@driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
1689
|
+
el = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
1765
1690
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1766
1691
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1767
|
-
puts '-[√] 챕챠 코드 code
|
1692
|
+
puts '-[√] 챕챠 코드 code 9.......'.red
|
1693
|
+
sleep(1)
|
1694
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1768
1695
|
sleep(1)
|
1769
1696
|
mouse_move_percentage(0.3,0.02)
|
1770
1697
|
sleep(0.5)
|
1771
|
-
left_click
|
1698
|
+
left_click
|
1772
1699
|
sleep(1)
|
1773
|
-
@driver.
|
1774
|
-
|
1775
|
-
#@driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
|
1776
|
-
#sleep(2)
|
1777
|
-
#@driver.manage.window.maximize
|
1778
|
-
|
1779
|
-
|
1780
|
-
el1 = @driver.find_element(:xpath, '//*[@class="CodeImage"]')
|
1781
|
-
@driver.action.context_click(el1).perform
|
1700
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1701
|
+
@driver.action.context_click(el).perform #우 클릭
|
1782
1702
|
sleep(1)
|
1783
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
1784
|
-
#key_down('shift')
|
1785
|
-
#key_stroke('m')
|
1786
|
-
#key_up('shift')
|
1703
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1787
1704
|
sleep(1)
|
1788
1705
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1789
1706
|
rescue
|
1790
1707
|
begin
|
1791
1708
|
@driver.switch_to.default_content()
|
1792
|
-
|
1793
|
-
el = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
1794
|
-
@driver.action.move_to(el).perform
|
1709
|
+
el = @driver.find_element(:xpath, '//*[@class="CodeImage"]')
|
1795
1710
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1796
1711
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1797
|
-
puts '-[√] 챕챠 코드 code
|
1712
|
+
puts '-[√] 챕챠 코드 code 10.......'.red
|
1713
|
+
sleep(1)
|
1714
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1798
1715
|
sleep(1)
|
1799
1716
|
mouse_move_percentage(0.3,0.02)
|
1800
1717
|
sleep(0.5)
|
1801
|
-
left_click
|
1718
|
+
left_click
|
1802
1719
|
sleep(1)
|
1803
|
-
@driver.
|
1720
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1721
|
+
@driver.action.context_click(el).perform #우 클릭
|
1804
1722
|
sleep(1)
|
1805
|
-
|
1806
|
-
#sleep(2)
|
1807
|
-
#@driver.manage.window.maximize
|
1808
|
-
|
1809
|
-
|
1810
|
-
el1 = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
1811
|
-
@driver.action.context_click(el1).perform
|
1812
|
-
sleep(1)
|
1813
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
1814
|
-
#key_down('shift')
|
1815
|
-
#key_stroke('m')
|
1816
|
-
#key_up('shift')
|
1723
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1817
1724
|
sleep(1)
|
1818
1725
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1819
1726
|
rescue
|
1820
1727
|
begin
|
1821
1728
|
@driver.switch_to.default_content()
|
1822
|
-
|
1823
|
-
el = @driver.find_element(:xpath, '//*[@class="lazy-loaded"]')
|
1824
|
-
@driver.action.move_to(el).perform
|
1729
|
+
el = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
1825
1730
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1826
1731
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1827
1732
|
puts '-[√] 챕챠 코드 code 11.......'.red
|
1828
1733
|
sleep(1)
|
1734
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1735
|
+
sleep(1)
|
1829
1736
|
mouse_move_percentage(0.3,0.02)
|
1830
1737
|
sleep(0.5)
|
1831
|
-
left_click
|
1738
|
+
left_click
|
1832
1739
|
sleep(1)
|
1833
|
-
@driver.
|
1740
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1741
|
+
@driver.action.context_click(el).perform #우 클릭
|
1834
1742
|
sleep(1)
|
1835
|
-
|
1836
|
-
#sleep(2)
|
1837
|
-
#@driver.manage.window.maximize
|
1838
|
-
|
1839
|
-
|
1840
|
-
el1 = @driver.find_element(:xpath, '//*[@class="lazy-loaded"]')
|
1841
|
-
@driver.action.context_click(el1).perform
|
1842
|
-
sleep(1)
|
1843
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
1844
|
-
#key_down('shift')
|
1845
|
-
#key_stroke('m')
|
1846
|
-
#key_up('shift')
|
1743
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1847
1744
|
sleep(1)
|
1848
1745
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1849
1746
|
rescue
|
1747
|
+
begin
|
1748
|
+
@driver.switch_to.default_content()
|
1749
|
+
el = @driver.find_element(:xpath, '//*[@class="lazy-loaded"]')
|
1750
|
+
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
1751
|
+
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
1752
|
+
puts '-[√] 챕챠 코드 code 12.......'.red
|
1753
|
+
sleep(1)
|
1754
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
1755
|
+
sleep(1)
|
1756
|
+
mouse_move_percentage(0.3,0.02)
|
1757
|
+
sleep(0.5)
|
1758
|
+
left_click
|
1759
|
+
sleep(1)
|
1760
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
1761
|
+
@driver.action.context_click(el).perform #우 클릭
|
1762
|
+
sleep(1)
|
1763
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
1764
|
+
sleep(1)
|
1765
|
+
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
1766
|
+
rescue
|
1767
|
+
|
1768
|
+
end
|
1769
|
+
end
|
1850
1770
|
|
1851
|
-
|
1852
|
-
end
|
1771
|
+
end
|
1853
1772
|
end
|
1854
1773
|
end
|
1855
1774
|
end
|
1856
1775
|
end
|
1857
1776
|
end
|
1858
1777
|
end
|
1778
|
+
|
1859
1779
|
end
|
1860
1780
|
end
|
1861
1781
|
end
|
@@ -2048,23 +1968,22 @@ rescue
|
|
2048
1968
|
rescue
|
2049
1969
|
begin
|
2050
1970
|
@driver.find_element(:xpath, '//*[@name="captcha"]').click
|
2051
|
-
|
2052
1971
|
sleep(1)
|
2053
|
-
|
1972
|
+
|
1973
|
+
# CAPTCHA 요소 찾기
|
2054
1974
|
el2 = @driver.find_element(:xpath, '//*[@name="captcha"]')
|
1975
|
+
|
1976
|
+
# 우클릭 (context_click) 실행
|
2055
1977
|
@driver.action.context_click(el2).perform
|
2056
|
-
|
2057
1978
|
sleep(1)
|
2058
1979
|
@driver.action.key_stroke('up')
|
2059
1980
|
sleep(1)
|
2060
1981
|
@driver.action.key_stroke('up')
|
2061
1982
|
sleep(1)
|
2062
1983
|
@driver.action.key_stroke('enter')
|
2063
|
-
sleep(1)
|
2064
1984
|
begin
|
2065
|
-
# 요소 찾기 타임아웃을 7초로 설정
|
2066
1985
|
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
2067
|
-
|
1986
|
+
# 요소가 나타날 때까지 7초 동안 기다립니다.
|
2068
1987
|
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
2069
1988
|
rescue
|
2070
1989
|
sleep(1)
|
@@ -2343,46 +2262,7 @@ rescue
|
|
2343
2262
|
puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
|
2344
2263
|
sleep(1)
|
2345
2264
|
rescue
|
2346
|
-
|
2347
|
-
@driver.switch_to.default_content()
|
2348
|
-
sleep(1)
|
2349
|
-
@driver.find_element(:xpath, '//*[@id="captcha_code"]').click
|
2350
|
-
|
2351
|
-
sleep(1)
|
2352
|
-
|
2353
|
-
el2 = @driver.find_element(:xpath, '//*[@id="captcha_code"]')
|
2354
|
-
@driver.action.context_click(el2).perform
|
2355
|
-
|
2356
|
-
sleep(1)
|
2357
|
-
@driver.action.key_stroke('up')
|
2358
|
-
sleep(1)
|
2359
|
-
@driver.action.key_stroke('up')
|
2360
|
-
sleep(1)
|
2361
|
-
@driver.action.key_stroke('enter')
|
2362
|
-
sleep(1)
|
2363
|
-
begin
|
2364
|
-
# 요소 찾기 타임아웃을 7초로 설정
|
2365
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
2366
|
-
#요소가 나타날 때까지 7초 동안 기다립니다.
|
2367
|
-
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
2368
|
-
rescue
|
2369
|
-
sleep(1)
|
2370
|
-
@driver.action.key_stroke('left')
|
2371
|
-
sleep(1)
|
2372
|
-
@driver.action.key_stroke('up')
|
2373
|
-
sleep(1)
|
2374
|
-
@driver.action.key_stroke('enter')
|
2375
|
-
sleep(1)
|
2376
|
-
# 요소 찾기 타임아웃을 7초로 설정
|
2377
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
2378
|
-
#요소가 나타날 때까지 7초 동안 기다립니다.
|
2379
|
-
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
2380
|
-
end
|
2381
|
-
puts '-[√] 캡챠 코드 타겟 완료2.......'.blue
|
2382
|
-
sleep(1)
|
2383
|
-
rescue
|
2384
|
-
|
2385
|
-
end
|
2265
|
+
|
2386
2266
|
end
|
2387
2267
|
end
|
2388
2268
|
end
|
@@ -2562,7 +2442,7 @@ end
|
|
2562
2442
|
# Alert 처리 부분
|
2563
2443
|
begin
|
2564
2444
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
2565
|
-
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
2445
|
+
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
2566
2446
|
alert.accept # 알림을 확인
|
2567
2447
|
rescue
|
2568
2448
|
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
@@ -2595,7 +2475,7 @@ login_url = option['login_url'].to_s
|
|
2595
2475
|
# Alert 처리 부분
|
2596
2476
|
begin
|
2597
2477
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
2598
|
-
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
2478
|
+
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
2599
2479
|
alert.accept # 알림을 확인
|
2600
2480
|
rescue
|
2601
2481
|
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
@@ -3761,7 +3641,7 @@ login_url = option['login_url'].to_s
|
|
3761
3641
|
# Alert 처리 부분
|
3762
3642
|
begin
|
3763
3643
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
3764
|
-
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3644
|
+
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3765
3645
|
alert.accept # 알림을 확인
|
3766
3646
|
rescue
|
3767
3647
|
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
@@ -3800,7 +3680,7 @@ begin
|
|
3800
3680
|
# Alert 처리 부분
|
3801
3681
|
begin
|
3802
3682
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
3803
|
-
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3683
|
+
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3804
3684
|
alert.accept # 알림을 확인
|
3805
3685
|
rescue
|
3806
3686
|
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
@@ -4013,7 +3893,7 @@ begin
|
|
4013
3893
|
# Alert 처리 부분
|
4014
3894
|
begin
|
4015
3895
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
4016
|
-
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3896
|
+
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
4017
3897
|
alert.accept # 알림을 확인
|
4018
3898
|
rescue
|
4019
3899
|
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
@@ -4047,7 +3927,7 @@ login_url = option['login_url'].to_s
|
|
4047
3927
|
# Alert 처리 부분
|
4048
3928
|
begin
|
4049
3929
|
wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
|
4050
|
-
alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
3930
|
+
alert = wait.until { @driver.switch_to.alert } # alert가 나타날 때까지 기다림
|
4051
3931
|
alert.accept # 알림을 확인
|
4052
3932
|
rescue
|
4053
3933
|
# 알림이 나타나지 않으면 예외 처리하고 넘어감
|
@@ -4106,7 +3986,16 @@ login_url = option['login_url'].to_s
|
|
4106
3986
|
puts '-[√] 글쓰기 버튼 code 3.......'.green
|
4107
3987
|
sleep(3.7)
|
4108
3988
|
rescue
|
4109
|
-
|
3989
|
+
begin
|
3990
|
+
el_post_btn = @driver.find_element(:xpath, '//*[@class="gRight"]')
|
3991
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", el_post_btn)
|
3992
|
+
sleep(1)
|
3993
|
+
@driver.find_element(:xpath, '//*[@class="gRight"]').click
|
3994
|
+
puts '-[√] 글쓰기 버튼 code 4.......'.green
|
3995
|
+
sleep(3.7)
|
3996
|
+
rescue
|
3997
|
+
|
3998
|
+
end
|
4110
3999
|
end
|
4111
4000
|
end
|
4112
4001
|
end
|
@@ -4420,11 +4309,19 @@ login_url = option['login_url'].to_s
|
|
4420
4309
|
sleep(1)
|
4421
4310
|
rescue
|
4422
4311
|
end
|
4423
|
-
|
4424
|
-
|
4425
|
-
|
4426
|
-
|
4427
|
-
|
4312
|
+
|
4313
|
+
begin
|
4314
|
+
@driver.execute_script('var elements = document.querySelectorAll("div[style*=\'background-color: rgb(255, 255, 255)\']");
|
4315
|
+
elements.forEach(function(element) {
|
4316
|
+
if (element.style.visibility === "hidden") {
|
4317
|
+
element.remove(); // background-color와 visibility 조건을 만족하면 요소 제거
|
4318
|
+
}
|
4319
|
+
});
|
4320
|
+
')
|
4321
|
+
puts '-[√] 숨김 code 중 12번 code 제거 완료.......'.green
|
4322
|
+
sleep(1)
|
4323
|
+
rescue
|
4324
|
+
end
|
4428
4325
|
|
4429
4326
|
end
|
4430
4327
|
|
@@ -5014,89 +4911,129 @@ login_url = option['login_url'].to_s
|
|
5014
4911
|
|
5015
4912
|
|
5016
4913
|
##닉네임 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
5017
|
-
puts '-[√] 닉네임
|
4914
|
+
puts '-[√] 닉네임 입력 가능 여부 체크.......'.yellow
|
5018
4915
|
|
5019
4916
|
begin
|
5020
4917
|
@driver.find_element(:xpath, '//*[@id="wr_name"]').send_keys(user_id)
|
5021
4918
|
sleep(1)
|
4919
|
+
puts '-[√] 닉네임 1코드 타겟.......'.yellow
|
5022
4920
|
rescue
|
5023
4921
|
begin
|
5024
4922
|
@driver.find_element(:xpath, '//*[@fw-label="작성자"]').send_keys(user_id)
|
5025
4923
|
sleep(1)
|
4924
|
+
puts '-[√] 닉네임 2코드 타겟.......'.yellow
|
5026
4925
|
rescue
|
5027
4926
|
begin
|
5028
|
-
|
5029
|
-
|
4927
|
+
begin
|
4928
|
+
@driver.find_element(:xpath, '//*[@name="member_display"]').send_keys(user_id)
|
4929
|
+
sleep(1)
|
4930
|
+
puts '-[√] 닉네임 3-1코드 타겟.......'.yellow
|
4931
|
+
rescue
|
4932
|
+
rows = @driver.find_elements(class: 'kboard-attr-row')
|
4933
|
+
rows.each do |row|
|
4934
|
+
begin
|
4935
|
+
input_element = row.find_element(xpath: './/input[@name="member_display"]')
|
4936
|
+
input_element.send_keys(user_id)
|
4937
|
+
sleep(1)
|
4938
|
+
puts '-[√] 닉네임 3-2코드 타겟.......'.yellow
|
4939
|
+
rescue
|
4940
|
+
next
|
4941
|
+
end
|
4942
|
+
end
|
4943
|
+
end
|
5030
4944
|
rescue
|
5031
4945
|
begin
|
5032
4946
|
@driver.find_element(:xpath, '//*[@title="닉네임"]').send_keys(user_id)
|
5033
4947
|
sleep(1)
|
4948
|
+
puts '-[√] 닉네임 4코드 타겟.......'.yellow
|
5034
4949
|
rescue
|
5035
4950
|
begin
|
5036
4951
|
@driver.find_element(:xpath, '//*[@name="name"]').send_keys(user_id)
|
5037
4952
|
sleep(1)
|
4953
|
+
puts '-[√] 닉네임 5코드 타겟.......'.yellow
|
5038
4954
|
rescue
|
5039
4955
|
begin
|
5040
4956
|
@driver.find_element(:xpath, '//*[@name="writer"]').send_keys(user_id)
|
5041
4957
|
sleep(1)
|
4958
|
+
puts '-[√] 닉네임 6코드 타겟.......'.yellow
|
5042
4959
|
rescue
|
5043
4960
|
begin
|
5044
4961
|
@driver.find_element(:xpath, '//*[@name="hname"]').send_keys(user_id)
|
5045
4962
|
sleep(1)
|
4963
|
+
puts '-[√] 닉네임 7코드 타겟.......'.yellow
|
5046
4964
|
rescue
|
5047
4965
|
begin
|
5048
4966
|
@driver.find_element(:xpath, '//*[@name="wr_name"]').send_keys(user_id)
|
5049
4967
|
sleep(1)
|
4968
|
+
puts '-[√] 닉네임 8코드 타겟.......'.yellow
|
5050
4969
|
rescue
|
5051
4970
|
begin
|
5052
4971
|
@driver.find_element(:xpath, '//*[@name="post_nickname"]').send_keys(user_id)
|
5053
4972
|
sleep(1)
|
4973
|
+
puts '-[√] 닉네임 9코드 타겟.......'.yellow
|
5054
4974
|
rescue
|
5055
4975
|
begin
|
5056
4976
|
@driver.find_element(:xpath, '//*[@name="user_name"]').send_keys(user_id)
|
5057
4977
|
sleep(1)
|
4978
|
+
puts '-[√] 닉네임 10코드 타겟.......'.yellow
|
5058
4979
|
rescue
|
5059
4980
|
begin
|
5060
4981
|
@driver.find_element(:xpath, '//*[@class="mb-user-name"]').send_keys(user_id)
|
5061
4982
|
sleep(1)
|
4983
|
+
puts '-[√] 닉네임 11코드 타겟.......'.yellow
|
5062
4984
|
rescue
|
5063
4985
|
begin
|
5064
4986
|
@driver.find_element(:xpath, '//*[@placeholder="비회원 닉네임"]').send_keys(user_id)
|
5065
4987
|
sleep(1)
|
4988
|
+
puts '-[√] 닉네임 12코드 타겟.......'.yellow
|
5066
4989
|
rescue
|
5067
4990
|
begin
|
5068
4991
|
@driver.find_element(:xpath, '//*[@placeholder="이름"]').send_keys(user_id)
|
5069
4992
|
sleep(1)
|
4993
|
+
puts '-[√] 닉네임 13코드 타겟.......'.yellow
|
5070
4994
|
rescue
|
5071
4995
|
begin
|
5072
4996
|
@driver.find_element(:xpath, '//*[@name="nickname"]').send_keys(user_id)
|
5073
4997
|
sleep(1)
|
4998
|
+
puts '-[√] 닉네임 14코드 타겟.......'.yellow
|
5074
4999
|
rescue
|
5075
5000
|
begin
|
5076
5001
|
@driver.find_element(:xpath, '//*[@name="nick"]').send_keys(user_id)
|
5077
5002
|
sleep(1)
|
5003
|
+
puts '-[√] 닉네임 15코드 타겟.......'.yellow
|
5078
5004
|
rescue
|
5079
5005
|
begin
|
5080
5006
|
@driver.find_element(:xpath, '//*[@placeholder="작성자 이름"]').send_keys(user_id)
|
5081
5007
|
sleep(1)
|
5008
|
+
puts '-[√] 닉네임 16코드 타겟.......'.yellow
|
5082
5009
|
rescue
|
5083
5010
|
begin
|
5084
5011
|
@driver.find_element(:xpath, '//*[@id="reg_name"]').send_keys(user_id)
|
5085
5012
|
sleep(1)
|
5013
|
+
puts '-[√] 닉네임 17코드 타겟.......'.yellow
|
5086
5014
|
rescue
|
5087
5015
|
begin
|
5088
5016
|
@driver.find_element(:xpath, '//*[@id="postWriter"]').send_keys(user_id)
|
5089
5017
|
sleep(1)
|
5018
|
+
puts '-[√] 닉네임 18코드 타겟.......'.yellow
|
5090
5019
|
rescue
|
5091
5020
|
begin
|
5092
5021
|
@driver.find_element(:xpath, '//*[@id="kboard-input-member-display"]').send_keys(user_id)
|
5093
5022
|
sleep(1)
|
5023
|
+
puts '-[√] 닉네임 19코드 타겟.......'.yellow
|
5094
5024
|
rescue
|
5095
5025
|
begin
|
5096
5026
|
@driver.find_element(:xpath, '//*[@name="nick_name"]').send_keys(user_id)
|
5097
5027
|
sleep(1)
|
5028
|
+
puts '-[√] 닉네임 20코드 타겟.......'.yellow
|
5098
5029
|
rescue
|
5099
|
-
|
5030
|
+
begin
|
5031
|
+
@driver.find_element(:xpath, '//*[@name="write_name"]').send_keys(user_id)
|
5032
|
+
sleep(1)
|
5033
|
+
puts '-[√] 닉네임 21코드 타겟.......'.yellow
|
5034
|
+
rescue
|
5035
|
+
|
5036
|
+
end
|
5100
5037
|
end
|
5101
5038
|
end
|
5102
5039
|
end
|
@@ -5116,71 +5053,87 @@ begin
|
|
5116
5053
|
end
|
5117
5054
|
end
|
5118
5055
|
end
|
5119
|
-
|
5056
|
+
puts '-[√] 닉네임 입력 가능 여부 종료.......'.yellow
|
5120
5057
|
end
|
5121
5058
|
##<─────────────────────────────────────────────────────────────────────닉네임 입력 코드 부분
|
5122
5059
|
|
5123
5060
|
|
5124
5061
|
##패스워드 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
5062
|
+
puts '-[√] 패스워드 입력 가능 여부 체크.......'.yellow
|
5125
5063
|
begin
|
5126
5064
|
@driver.find_element(:xpath, '//*[@id="wr_password"]').send_keys(user_pw)
|
5127
5065
|
sleep(1)
|
5066
|
+
puts '-[√] 패스워드 1코드 타겟.......'.yellow
|
5128
5067
|
rescue
|
5129
5068
|
begin
|
5130
5069
|
@driver.find_element(:xpath, '//*[@fw-label="비밀번호"]').send_keys(user_pw)
|
5131
5070
|
sleep(1)
|
5071
|
+
puts '-[√] 패스워드 2코드 타겟.......'.yellow
|
5132
5072
|
rescue
|
5133
5073
|
begin
|
5134
5074
|
@driver.find_element(:xpath, '//*[@name="password"]').send_keys(user_pw)
|
5135
5075
|
sleep(1)
|
5076
|
+
puts '-[√] 패스워드 3코드 타겟.......'.yellow
|
5136
5077
|
rescue
|
5137
5078
|
begin
|
5138
5079
|
@driver.find_element(:xpath, '//*[@title="비밀번호"]').send_keys(user_pw)
|
5139
5080
|
sleep(1)
|
5081
|
+
puts '-[√] 패스워드 4코드 타겟.......'.yellow
|
5140
5082
|
rescue
|
5141
5083
|
begin
|
5142
5084
|
@driver.find_element(:xpath, '//*[@type="password"]').send_keys(user_pw)
|
5143
5085
|
sleep(1)
|
5086
|
+
puts '-[√] 패스워드 5코드 타겟.......'.yellow
|
5144
5087
|
rescue
|
5145
5088
|
begin
|
5146
5089
|
@driver.find_element(:xpath, '//*[@name="wr_password"]').send_keys(user_pw)
|
5147
5090
|
sleep(1)
|
5091
|
+
puts '-[√] 패스워드 6코드 타겟.......'.yellow
|
5148
5092
|
rescue
|
5149
5093
|
begin
|
5150
5094
|
@driver.find_element(:xpath, '//*[@name="passwd"]').send_keys(user_pw)
|
5151
5095
|
sleep(1)
|
5096
|
+
puts '-[√] 패스워드 7코드 타겟.......'.yellow
|
5152
5097
|
rescue
|
5153
5098
|
begin
|
5154
5099
|
@driver.find_element(:xpath, '//*[@name="post_password"]').send_keys(user_pw)
|
5155
5100
|
sleep(1)
|
5101
|
+
puts '-[√] 패스워드 8코드 타겟.......'.yellow
|
5156
5102
|
rescue
|
5157
5103
|
begin
|
5158
5104
|
@driver.find_element(:xpath, '//*[@class="mb-passwd"]').send_keys(user_pw)
|
5159
5105
|
sleep(1)
|
5106
|
+
puts '-[√] 패스워드 9코드 타겟.......'.yellow
|
5160
5107
|
rescue
|
5161
5108
|
begin
|
5162
5109
|
@driver.find_element(:xpath, '//*[@placeholder="비밀번호"]').send_keys(user_pw)
|
5163
5110
|
sleep(1)
|
5111
|
+
puts '-[√] 패스워드 10코드 타겟.......'.yellow
|
5164
5112
|
rescue
|
5165
5113
|
begin
|
5166
5114
|
@driver.find_element(:xpath, '//*[@id="passwd"]').send_keys(user_pw)
|
5167
5115
|
sleep(1)
|
5116
|
+
puts '-[√] 패스워드 11코드 타겟.......'.yellow
|
5168
5117
|
rescue
|
5169
5118
|
begin
|
5170
5119
|
@driver.find_element(:xpath, '//*[@id="blogPostPassword1"]').send_keys(user_pw)
|
5171
5120
|
sleep(1)
|
5121
|
+
puts '-[√] 패스워드 12코드 타겟.......'.yellow
|
5172
5122
|
rescue
|
5173
5123
|
begin
|
5174
5124
|
@driver.find_element(:xpath, '//*[@name="secret_pass"]').send_keys(user_pw)
|
5175
5125
|
sleep(1)
|
5126
|
+
puts '-[√] 패스워드 13코드 타겟.......'.yellow
|
5176
5127
|
rescue
|
5177
5128
|
begin
|
5178
5129
|
@driver.find_element(:xpath, '//*[@id="reg_pwd"]').send_keys(user_pw)
|
5179
5130
|
sleep(1)
|
5131
|
+
puts '-[√] 패스워드 14코드 타겟.......'.yellow
|
5180
5132
|
rescue
|
5181
5133
|
begin
|
5182
5134
|
@driver.find_element(:xpath, '//*[@id="kboard-input-password"]').send_keys(user_pw)
|
5183
5135
|
sleep(1)
|
5136
|
+
puts '-[√] 패스워드 15코드 타겟.......'.yellow
|
5184
5137
|
rescue
|
5185
5138
|
|
5186
5139
|
end
|
@@ -5197,7 +5150,7 @@ begin
|
|
5197
5150
|
end
|
5198
5151
|
end
|
5199
5152
|
end
|
5200
|
-
puts '-[√]
|
5153
|
+
puts '-[√] 패스워드 입력 가능 여부 종료.......'.yellow
|
5201
5154
|
sleep(1)
|
5202
5155
|
end
|
5203
5156
|
##<─────────────────────────────────────────────────────────────────────패스워드 입력 코드 부분
|
@@ -5786,16 +5739,18 @@ begin
|
|
5786
5739
|
puts '-[√] 제목 code 37.......'.yellow
|
5787
5740
|
|
5788
5741
|
|
5742
|
+
|
5743
|
+
|
5789
5744
|
rescue => e
|
5790
5745
|
puts '-[√] 제목 입력 항목 코드 탐색 실패!!.......'.red
|
5791
5746
|
puts '-[√] 다음 작업 준비 중으로 1~60 초 정도 기다려주세요.......'.red
|
5792
|
-
|
5747
|
+
|
5793
5748
|
@driver.window_handles.each do |handle|
|
5794
|
-
|
5749
|
+
@driver.switch_to.window(handle)
|
5795
5750
|
begin
|
5796
5751
|
# 로딩 중이거나, 페이지가 완전히 로딩되지 않더라도 탭을 닫기
|
5797
5752
|
@driver.close
|
5798
|
-
|
5753
|
+
|
5799
5754
|
rescue Selenium::WebDriver::Error::WebDriverError => e
|
5800
5755
|
puts "크롬 브라우저 종료: #{e.message}"
|
5801
5756
|
end
|
@@ -5803,8 +5758,10 @@ begin
|
|
5803
5758
|
return 0
|
5804
5759
|
@driver.quit
|
5805
5760
|
end
|
5761
|
+
|
5806
5762
|
|
5807
5763
|
|
5764
|
+
|
5808
5765
|
end
|
5809
5766
|
|
5810
5767
|
end
|
@@ -6029,6 +5986,7 @@ begin
|
|
6029
5986
|
html_bb = @driver.find_element(:xpath, '//*[@id="moreMisc-1"]')
|
6030
5987
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_bb)
|
6031
5988
|
sleep(1)
|
5989
|
+
|
6032
5990
|
@driver.find_element(:xpath, '//*[@id="moreMisc-1"]').click
|
6033
5991
|
sleep(1)
|
6034
5992
|
@driver.find_element(:xpath, '//*[@id="html-1"]').click
|
@@ -6338,7 +6296,38 @@ rescue
|
|
6338
6296
|
sleep(1)
|
6339
6297
|
puts '내용 항목 코드 타겟 36.......'.red
|
6340
6298
|
rescue
|
6341
|
-
|
6299
|
+
begin
|
6300
|
+
@driver.find_element(:xpath, '//textarea[@id="kboard_content"]').click
|
6301
|
+
sleep(1)
|
6302
|
+
puts '내용 항목 코드 타겟 37.......'.red
|
6303
|
+
rescue
|
6304
|
+
begin
|
6305
|
+
@driver.find_element(:xpath, '//textarea[@class="editor-textarea "]').click
|
6306
|
+
sleep(1)
|
6307
|
+
puts '내용 항목 코드 타겟 38.......'.red
|
6308
|
+
rescue
|
6309
|
+
begin
|
6310
|
+
@driver.find_element(:xpath, '//textarea[@name="kboard_content"]').click
|
6311
|
+
sleep(1)
|
6312
|
+
puts '내용 항목 코드 타겟 39.......'.red
|
6313
|
+
rescue
|
6314
|
+
begin
|
6315
|
+
dev_tools = driver.execute_cdp_cmd('Emulate.DeviceMetrics', {
|
6316
|
+
'width' => 375, # 모바일 화면 너비 (예: iPhone X 너비)
|
6317
|
+
'height' => 667, # 모바일 화면 높이
|
6318
|
+
'deviceScaleFactor' => 3.0, # 화면 비율
|
6319
|
+
'mobile' => true # 모바일 모드 활성화
|
6320
|
+
})
|
6321
|
+
sleep(1)
|
6322
|
+
@driver.find_element(:xpath, '//textarea[@name="kboard_content"]').click
|
6323
|
+
sleep(1)
|
6324
|
+
puts '내용 항목 코드 타겟 40.......'.red
|
6325
|
+
rescue
|
6326
|
+
|
6327
|
+
end
|
6328
|
+
end
|
6329
|
+
end
|
6330
|
+
end
|
6342
6331
|
end
|
6343
6332
|
end
|
6344
6333
|
end
|
@@ -7386,29 +7375,20 @@ begin
|
|
7386
7375
|
@driver.switch_to.default_content()
|
7387
7376
|
#@driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
7388
7377
|
el = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
7389
|
-
@driver.action.move_to(el).perform
|
7390
7378
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7391
7379
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7392
7380
|
puts '-[√] 챕챠 코드 code 1.......'.red
|
7393
7381
|
sleep(1)
|
7382
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7383
|
+
sleep(1)
|
7394
7384
|
mouse_move_percentage(0.3,0.02)
|
7395
7385
|
sleep(0.5)
|
7396
|
-
left_click
|
7386
|
+
left_click
|
7397
7387
|
sleep(1)
|
7398
|
-
@driver.
|
7388
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7389
|
+
@driver.action.context_click(el).perform #우 클릭
|
7399
7390
|
sleep(1)
|
7400
|
-
|
7401
|
-
#sleep(2)
|
7402
|
-
#@driver.manage.window.maximize
|
7403
|
-
|
7404
|
-
|
7405
|
-
el1 = @driver.find_element(:xpath, '//*[@id="mb_kcaptcha"]')
|
7406
|
-
@driver.action.context_click(el1).perform
|
7407
|
-
sleep(1)
|
7408
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7409
|
-
#key_down('shift')
|
7410
|
-
#key_stroke('m')
|
7411
|
-
#key_up('shift')
|
7391
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7412
7392
|
sleep(1)
|
7413
7393
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7414
7394
|
rescue
|
@@ -7416,29 +7396,20 @@ rescue
|
|
7416
7396
|
@driver.switch_to.default_content()
|
7417
7397
|
#@driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
7418
7398
|
el = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
7419
|
-
@driver.action.move_to(el).perform
|
7420
7399
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7421
7400
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7422
7401
|
puts '-[√] 챕챠 코드 code 2.......'.red
|
7423
7402
|
sleep(1)
|
7403
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7404
|
+
sleep(1)
|
7424
7405
|
mouse_move_percentage(0.3,0.02)
|
7425
7406
|
sleep(0.5)
|
7426
|
-
left_click
|
7407
|
+
left_click
|
7427
7408
|
sleep(1)
|
7428
|
-
@driver.
|
7409
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7410
|
+
@driver.action.context_click(el).perform #우 클릭
|
7429
7411
|
sleep(1)
|
7430
|
-
|
7431
|
-
#sleep(2)
|
7432
|
-
#@driver.manage.window.maximize
|
7433
|
-
|
7434
|
-
|
7435
|
-
el1 = @driver.find_element(:xpath, '//*[@alt="자동등록방지"]')
|
7436
|
-
@driver.action.context_click(el1).perform
|
7437
|
-
sleep(1)
|
7438
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7439
|
-
#key_down('shift')
|
7440
|
-
#key_stroke('m')
|
7441
|
-
#key_up('shift')
|
7412
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7442
7413
|
sleep(1)
|
7443
7414
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7444
7415
|
rescue
|
@@ -7447,7 +7418,6 @@ rescue
|
|
7447
7418
|
sleep(1)
|
7448
7419
|
#@driver.find_element(:xpath, '//*[@id="captcha_img"]').send_keys(:tab)
|
7449
7420
|
el = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
|
7450
|
-
@driver.action.move_to(el).perform
|
7451
7421
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7452
7422
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7453
7423
|
puts '-[√] 챕챠 코드 code 3.......'.red
|
@@ -7457,23 +7427,17 @@ rescue
|
|
7457
7427
|
@driver.execute_script("arguments[0].remove();", chat_box)
|
7458
7428
|
sleep(1)
|
7459
7429
|
|
7430
|
+
sleep(1)
|
7431
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7432
|
+
sleep(1)
|
7460
7433
|
mouse_move_percentage(0.3,0.02)
|
7461
7434
|
sleep(0.5)
|
7462
|
-
left_click
|
7463
|
-
sleep(1)
|
7464
|
-
@driver.find_element(:xpath, '//*[@id="captcha_img"]').click
|
7435
|
+
left_click
|
7465
7436
|
sleep(1)
|
7466
|
-
|
7467
|
-
|
7468
|
-
|
7469
|
-
|
7470
|
-
el1 = @driver.find_element(:xpath, '//*[@id="captcha_img"]')
|
7471
|
-
@driver.action.context_click(el1).perform
|
7437
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7438
|
+
@driver.action.context_click(el).perform #우 클릭
|
7472
7439
|
sleep(1)
|
7473
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
7474
|
-
#key_down('shift')
|
7475
|
-
#key_stroke('m')
|
7476
|
-
#key_up('shift')
|
7440
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7477
7441
|
sleep(1)
|
7478
7442
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7479
7443
|
rescue
|
@@ -7481,250 +7445,226 @@ rescue
|
|
7481
7445
|
@driver.switch_to.default_content()
|
7482
7446
|
#@driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
7483
7447
|
el = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
7484
|
-
@driver.action.move_to(el).perform
|
7485
7448
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7486
7449
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7487
7450
|
puts '-[√] 챕챠 코드 code 4.......'.red
|
7488
7451
|
sleep(1)
|
7452
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7453
|
+
sleep(1)
|
7489
7454
|
mouse_move_percentage(0.3,0.02)
|
7490
7455
|
sleep(0.5)
|
7491
|
-
left_click
|
7456
|
+
left_click
|
7492
7457
|
sleep(1)
|
7493
|
-
@driver.
|
7458
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7459
|
+
@driver.action.context_click(el).perform #우 클릭
|
7494
7460
|
sleep(1)
|
7495
|
-
|
7496
|
-
#sleep(2)
|
7497
|
-
#@driver.manage.window.maximize
|
7498
|
-
|
7499
|
-
|
7500
|
-
el1 = @driver.find_element(:xpath, '//*[@id="kcaptcha"]')
|
7501
|
-
@driver.action.context_click(el1).perform
|
7502
|
-
sleep(1)
|
7503
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7504
|
-
#key_down('shift')
|
7505
|
-
#key_stroke('m')
|
7506
|
-
#key_up('shift')
|
7461
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7507
7462
|
sleep(1)
|
7508
7463
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7509
7464
|
rescue
|
7510
7465
|
begin
|
7511
7466
|
@driver.switch_to.default_content()
|
7512
|
-
|
7513
|
-
|
7514
|
-
|
7467
|
+
@driver.find_elements(:tag_name, 'img').each do |img|
|
7468
|
+
if img.attribute('src').include?('kboard_captcha')
|
7469
|
+
el = img # 캡챠 이미지를 el에 저장
|
7470
|
+
break # 첫 번째 이미지를 찾으면 루프 종료
|
7471
|
+
end
|
7472
|
+
end
|
7515
7473
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7516
7474
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7517
|
-
puts '-[√] 챕챠 코드 code 5.......'.red
|
7475
|
+
puts '-[√] 챕챠 코드 code 5-1.......'.red
|
7476
|
+
sleep(1)
|
7477
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7518
7478
|
sleep(1)
|
7519
7479
|
mouse_move_percentage(0.3,0.02)
|
7520
7480
|
sleep(0.5)
|
7521
|
-
left_click
|
7481
|
+
left_click
|
7522
7482
|
sleep(1)
|
7523
|
-
@driver.
|
7524
|
-
|
7525
|
-
#@driver.manage.window.position = Selenium::WebDriver::Point.new(0, 0)
|
7526
|
-
#sleep(2)
|
7527
|
-
#@driver.manage.window.maximize
|
7528
|
-
|
7529
|
-
el1 = @driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
|
7530
|
-
@driver.action.context_click(el1).perform
|
7483
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7484
|
+
@driver.action.context_click(el).perform #우 클릭
|
7531
7485
|
sleep(1)
|
7532
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
7533
|
-
#key_down('shift')
|
7534
|
-
#key_stroke('m')
|
7535
|
-
#key_up('shift')
|
7486
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7536
7487
|
sleep(1)
|
7537
7488
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7538
7489
|
rescue
|
7539
7490
|
begin
|
7540
7491
|
@driver.switch_to.default_content()
|
7541
|
-
|
7542
|
-
|
7543
|
-
el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
7544
|
-
@driver.action.move_to(el).perform
|
7492
|
+
#@driver.find_element(:xpath, '//*[@for="kboard-input-captcha"]')
|
7493
|
+
el = @driver.find_element(:css, 'label[for="kboard-input-captcha"] img')
|
7545
7494
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7546
7495
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7547
|
-
puts '-[√] 챕챠 코드 code
|
7496
|
+
puts '-[√] 챕챠 코드 code 5-2.......'.red
|
7497
|
+
sleep(1)
|
7498
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7548
7499
|
sleep(1)
|
7549
7500
|
mouse_move_percentage(0.3,0.02)
|
7550
7501
|
sleep(0.5)
|
7551
|
-
left_click
|
7502
|
+
left_click
|
7552
7503
|
sleep(1)
|
7553
|
-
@driver.
|
7504
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7505
|
+
@driver.action.context_click(el).perform #우 클릭
|
7554
7506
|
sleep(1)
|
7555
|
-
|
7556
|
-
#sleep(2)
|
7557
|
-
#@driver.manage.window.maximize
|
7558
|
-
|
7559
|
-
|
7560
|
-
el1 = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
7561
|
-
@driver.action.context_click(el1).perform
|
7562
|
-
sleep(1)
|
7563
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7564
|
-
#key_down('shift')
|
7565
|
-
#key_stroke('m')
|
7566
|
-
#key_up('shift')
|
7507
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7567
7508
|
sleep(1)
|
7568
7509
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7569
7510
|
rescue
|
7570
7511
|
begin
|
7571
7512
|
@driver.switch_to.default_content()
|
7572
|
-
|
7573
|
-
|
7574
|
-
@driver.
|
7513
|
+
sleep(1)
|
7514
|
+
#@driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
7515
|
+
el = @driver.find_element(:xpath, '//*[@id="captcha_Write"]')
|
7575
7516
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7576
7517
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7577
|
-
puts '-[√] 챕챠 코드 code
|
7518
|
+
puts '-[√] 챕챠 코드 code 6.......'.red
|
7519
|
+
sleep(1)
|
7520
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7578
7521
|
sleep(1)
|
7579
7522
|
mouse_move_percentage(0.3,0.02)
|
7580
7523
|
sleep(0.5)
|
7581
|
-
left_click
|
7582
|
-
sleep(1)
|
7583
|
-
@driver.find_element(:xpath, '//*[@image-reader="in-progress"]').click
|
7524
|
+
left_click
|
7584
7525
|
sleep(1)
|
7585
|
-
|
7586
|
-
|
7587
|
-
#@driver.manage.window.maximize
|
7588
|
-
|
7589
|
-
|
7590
|
-
el1 = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
7591
|
-
@driver.action.context_click(el1).perform
|
7526
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7527
|
+
@driver.action.context_click(el).perform #우 클릭
|
7592
7528
|
sleep(1)
|
7593
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform
|
7594
|
-
#key_down('shift')
|
7595
|
-
#key_stroke('m')
|
7596
|
-
#key_up('shift')
|
7529
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7597
7530
|
sleep(1)
|
7598
7531
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7599
7532
|
rescue
|
7600
7533
|
begin
|
7601
7534
|
@driver.switch_to.default_content()
|
7602
|
-
#@driver.find_element(:xpath, '//*[@
|
7603
|
-
el = @driver.find_element(:xpath, '//*[@
|
7604
|
-
@driver.action.move_to(el).perform
|
7535
|
+
#@driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
7536
|
+
el = @driver.find_element(:xpath, '//*[@image-reader="in-progress"]')
|
7605
7537
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7606
7538
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7607
|
-
puts '-[√] 챕챠 코드 code
|
7539
|
+
puts '-[√] 챕챠 코드 code 7.......'.red
|
7540
|
+
sleep(1)
|
7541
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7608
7542
|
sleep(1)
|
7609
7543
|
mouse_move_percentage(0.3,0.02)
|
7610
7544
|
sleep(0.5)
|
7611
|
-
left_click
|
7545
|
+
left_click
|
7612
7546
|
sleep(1)
|
7613
|
-
@driver.
|
7547
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7548
|
+
@driver.action.context_click(el).perform #우 클릭
|
7614
7549
|
sleep(1)
|
7615
|
-
|
7616
|
-
#sleep(2)
|
7617
|
-
#@driver.manage.window.maximize
|
7618
|
-
|
7619
|
-
|
7620
|
-
el1 = @driver.find_element(:xpath, '//*[@id="spamauth"]')
|
7621
|
-
@driver.action.context_click(el1).perform
|
7622
|
-
sleep(1)
|
7623
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7624
|
-
#key_down('shift')
|
7625
|
-
#key_stroke('m')
|
7626
|
-
#key_up('shift')
|
7550
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7627
7551
|
sleep(1)
|
7628
7552
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7629
7553
|
rescue
|
7630
7554
|
begin
|
7631
7555
|
@driver.switch_to.default_content()
|
7632
|
-
#@driver.find_element(:xpath, '//*[@id="
|
7633
|
-
el = @driver.find_element(:xpath, '//*[@id="
|
7634
|
-
@driver.action.move_to(el).perform
|
7556
|
+
#@driver.find_element(:xpath, '//*[@id="spamauth"]')
|
7557
|
+
el = @driver.find_element(:xpath, '//*[@id="spamauth"]')
|
7635
7558
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7636
7559
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7637
|
-
puts '-[√] 챕챠 코드 code
|
7560
|
+
puts '-[√] 챕챠 코드 code 8.......'.red
|
7561
|
+
sleep(1)
|
7562
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7638
7563
|
sleep(1)
|
7639
7564
|
mouse_move_percentage(0.3,0.02)
|
7640
7565
|
sleep(0.5)
|
7641
|
-
left_click
|
7566
|
+
left_click
|
7642
7567
|
sleep(1)
|
7643
|
-
@driver.
|
7568
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7569
|
+
@driver.action.context_click(el).perform #우 클릭
|
7644
7570
|
sleep(1)
|
7645
|
-
|
7646
|
-
#sleep(2)
|
7647
|
-
#@driver.manage.window.maximize
|
7648
|
-
|
7649
|
-
|
7650
|
-
el1 = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
7651
|
-
@driver.action.context_click(el1).perform
|
7652
|
-
sleep(1)
|
7653
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7654
|
-
#key_down('shift')
|
7655
|
-
#key_stroke('m')
|
7656
|
-
#key_up('shift')
|
7571
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7657
7572
|
sleep(1)
|
7658
7573
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7659
7574
|
rescue
|
7660
7575
|
begin
|
7661
7576
|
@driver.switch_to.default_content()
|
7662
|
-
#@driver.find_element(:xpath, '//*[@
|
7663
|
-
el = @driver.find_element(:xpath, '//*[@
|
7664
|
-
@driver.action.move_to(el).perform
|
7577
|
+
#@driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
7578
|
+
el = @driver.find_element(:xpath, '//*[@id="norobot_img"]')
|
7665
7579
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7666
7580
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7667
|
-
puts '-[√] 챕챠 코드 code
|
7581
|
+
puts '-[√] 챕챠 코드 code 9.......'.red
|
7582
|
+
sleep(1)
|
7583
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7668
7584
|
sleep(1)
|
7669
7585
|
mouse_move_percentage(0.3,0.02)
|
7670
7586
|
sleep(0.5)
|
7671
|
-
left_click
|
7587
|
+
left_click
|
7672
7588
|
sleep(1)
|
7673
|
-
@driver.
|
7589
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7590
|
+
@driver.action.context_click(el).perform #우 클릭
|
7674
7591
|
sleep(1)
|
7675
|
-
|
7676
|
-
#sleep(2)
|
7677
|
-
#@driver.manage.window.maximize
|
7678
|
-
|
7679
|
-
|
7680
|
-
el1 = @driver.find_element(:xpath, '//*[@class="CodeImage"]')
|
7681
|
-
@driver.action.context_click(el1).perform
|
7682
|
-
sleep(1)
|
7683
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7684
|
-
#key_down('shift')
|
7685
|
-
#key_stroke('m')
|
7686
|
-
#key_up('shift')
|
7592
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7687
7593
|
sleep(1)
|
7688
7594
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7689
7595
|
rescue
|
7690
7596
|
begin
|
7691
7597
|
@driver.switch_to.default_content()
|
7692
|
-
|
7693
|
-
el = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
7694
|
-
@driver.action.move_to(el).perform
|
7598
|
+
el = @driver.find_element(:xpath, '//*[@class="CodeImage"]')
|
7695
7599
|
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7696
7600
|
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7697
|
-
puts '-[√] 챕챠 코드 code
|
7601
|
+
puts '-[√] 챕챠 코드 code 10.......'.red
|
7602
|
+
sleep(1)
|
7603
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7698
7604
|
sleep(1)
|
7699
7605
|
mouse_move_percentage(0.3,0.02)
|
7700
7606
|
sleep(0.5)
|
7701
|
-
left_click
|
7607
|
+
left_click
|
7702
7608
|
sleep(1)
|
7703
|
-
@driver.
|
7609
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7610
|
+
@driver.action.context_click(el).perform #우 클릭
|
7704
7611
|
sleep(1)
|
7705
|
-
|
7706
|
-
#sleep(2)
|
7707
|
-
#@driver.manage.window.maximize
|
7708
|
-
|
7709
|
-
|
7710
|
-
el1 = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
7711
|
-
@driver.action.context_click(el1).perform
|
7712
|
-
sleep(1)
|
7713
|
-
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #컨트롤+a
|
7714
|
-
#key_down('shift')
|
7715
|
-
#key_stroke('m')
|
7716
|
-
#key_up('shift')
|
7612
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7717
7613
|
sleep(1)
|
7718
7614
|
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7719
7615
|
rescue
|
7720
|
-
|
7721
|
-
|
7616
|
+
begin
|
7617
|
+
@driver.switch_to.default_content()
|
7618
|
+
el = @driver.find_element(:xpath, '//*[@id="kcaptcha_image"]')
|
7619
|
+
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7620
|
+
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7621
|
+
puts '-[√] 챕챠 코드 code 11.......'.red
|
7622
|
+
sleep(1)
|
7623
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7624
|
+
sleep(1)
|
7625
|
+
mouse_move_percentage(0.3,0.02)
|
7626
|
+
sleep(0.5)
|
7627
|
+
left_click
|
7628
|
+
sleep(1)
|
7629
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7630
|
+
@driver.action.context_click(el).perform #우 클릭
|
7631
|
+
sleep(1)
|
7632
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7633
|
+
sleep(1)
|
7634
|
+
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7635
|
+
rescue
|
7636
|
+
begin
|
7637
|
+
@driver.switch_to.default_content()
|
7638
|
+
el = @driver.find_element(:xpath, '//*[@class="lazy-loaded"]')
|
7639
|
+
puts '-[√] 캡챠 발견!! 캡차 해제를 위한 환경설정 약 10초 소요.......'.red
|
7640
|
+
puts '-[√] 챕챠 해제 중~ 해제 완료까지 마우스 움직이지 마세요.......'.red
|
7641
|
+
puts '-[√] 챕챠 코드 code 12.......'.red
|
7642
|
+
sleep(1)
|
7643
|
+
@driver.execute_script("arguments[0].scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});", el) # 화면 가운데
|
7644
|
+
sleep(1)
|
7645
|
+
mouse_move_percentage(0.3,0.02)
|
7646
|
+
sleep(0.5)
|
7647
|
+
left_click
|
7648
|
+
sleep(1)
|
7649
|
+
@driver.switch_to.window(@driver.window_handle) #핸들 주입
|
7650
|
+
@driver.action.context_click(el).perform #우 클릭
|
7651
|
+
sleep(1)
|
7652
|
+
@driver.action.key_down(:shift).key_stroke('m').key_up(:shift).perform #단축키
|
7653
|
+
sleep(1)
|
7654
|
+
puts '-[√] 캡챠 코드 타겟 완료1.......'.blue
|
7655
|
+
rescue
|
7656
|
+
|
7657
|
+
end
|
7658
|
+
end
|
7659
|
+
|
7660
|
+
end
|
7722
7661
|
end
|
7723
7662
|
end
|
7724
7663
|
end
|
7725
7664
|
end
|
7726
7665
|
end
|
7727
7666
|
end
|
7667
|
+
|
7728
7668
|
end
|
7729
7669
|
end
|
7730
7670
|
end
|
@@ -7917,23 +7857,22 @@ rescue
|
|
7917
7857
|
rescue
|
7918
7858
|
begin
|
7919
7859
|
@driver.find_element(:xpath, '//*[@name="captcha"]').click
|
7920
|
-
|
7921
7860
|
sleep(1)
|
7922
|
-
|
7861
|
+
|
7862
|
+
# CAPTCHA 요소 찾기
|
7923
7863
|
el2 = @driver.find_element(:xpath, '//*[@name="captcha"]')
|
7864
|
+
|
7865
|
+
# 우클릭 (context_click) 실행
|
7924
7866
|
@driver.action.context_click(el2).perform
|
7925
|
-
|
7926
7867
|
sleep(1)
|
7927
7868
|
@driver.action.key_stroke('up')
|
7928
7869
|
sleep(1)
|
7929
7870
|
@driver.action.key_stroke('up')
|
7930
7871
|
sleep(1)
|
7931
7872
|
@driver.action.key_stroke('enter')
|
7932
|
-
sleep(1)
|
7933
7873
|
begin
|
7934
|
-
# 요소 찾기 타임아웃을 7초로 설정
|
7935
7874
|
wait = Selenium::WebDriver::Wait.new(:timeout => 7)
|
7936
|
-
|
7875
|
+
# 요소가 나타날 때까지 7초 동안 기다립니다.
|
7937
7876
|
wait.until { @driver.find_element(:xpath, '//*[@class="captcha-solver captcha-solver_inner"]') }
|
7938
7877
|
rescue
|
7939
7878
|
sleep(1)
|
@@ -8628,8 +8567,28 @@ rescue
|
|
8628
8567
|
sleep(5)
|
8629
8568
|
|
8630
8569
|
rescue
|
8570
|
+
begin
|
8571
|
+
ss_button = @driver.find_element(:xpath, "//button[contains(text(), '글쓰기')]")
|
8572
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
8573
|
+
sleep(1)
|
8574
|
+
|
8575
|
+
@driver.find_element(:xpath, "//button[contains(text(), '글쓰기')]").click
|
8576
|
+
puts '-[√] 등록을 27번 코드로 시도하였습니다.......'.magenta
|
8577
|
+
sleep(5)
|
8578
|
+
|
8579
|
+
rescue
|
8580
|
+
begin
|
8581
|
+
ss_button = @driver.find_element(:xpath, '//*[@class="Button button-rounded black button-normal"]')
|
8582
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
8583
|
+
sleep(1)
|
8584
|
+
|
8585
|
+
@driver.find_element(:xpath, '//*[@class="Button button-rounded black button-normal"]').click
|
8586
|
+
puts '-[√] 등록을 28번 코드로 시도하였습니다.......'.magenta
|
8587
|
+
sleep(5)
|
8588
|
+
|
8589
|
+
rescue
|
8631
8590
|
|
8632
|
-
|
8591
|
+
|
8633
8592
|
########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
|
8634
8593
|
begin
|
8635
8594
|
puts '-[√] 등록 버튼 코드 탐색에 실패하였습니다.......'.magenta
|
@@ -8827,8 +8786,8 @@ rescue
|
|
8827
8786
|
|
8828
8787
|
|
8829
8788
|
|
8830
|
-
|
8831
|
-
|
8789
|
+
end
|
8790
|
+
end
|
8832
8791
|
end
|
8833
8792
|
end
|
8834
8793
|
end
|