posting_duo 3.102.999 → 3.105.999
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/posting_duo.rb +264 -129
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad0f09f029c46e29f802abaef8692c963f884c1c9b6c70e0f128e841d7011ffa
|
4
|
+
data.tar.gz: 2d2312ad852253cfd73dead18415403c3d6425222b38f1d553222de3616fa55c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97a0d7e7b3ab922b267d6fd17105b9642266af4e0f17e2278e54ee4b3b2893938682efe251dd633ba3288fb0a91d52f65692c49602be22d0ccffde6040289832
|
7
|
+
data.tar.gz: 7f0620e0663222bfa1fcade21413436b44fe47486bc9ef572aac4193c89f155c027637dd306586245695101e11e7c63722ddb32caee61eb513fa82e495314d45
|
data/lib/posting_duo.rb
CHANGED
@@ -25,34 +25,38 @@ include AutoClickMethods
|
|
25
25
|
using Rainbow
|
26
26
|
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
|
-
def kill_selenium_chrome #기존 창 모두 닫는 코드
|
38
|
-
wmi = WIN32OLE.connect("winmgmts://")
|
39
|
-
chrome_procs = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
|
40
|
-
|
41
|
-
chrome_procs.each do |proc|
|
28
|
+
class ChromeKiller
|
29
|
+
def self.kill_selenium_chrome
|
30
|
+
begin
|
31
|
+
wmi = WIN32OLE.connect("winmgmts://")
|
32
|
+
chrome_procs = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'chrome.exe'")
|
33
|
+
chrome_procs.each do |proc|
|
42
34
|
cmd = proc.CommandLine
|
43
35
|
if cmd && cmd.include?("user-data-dir=C:/board_cookie")
|
44
|
-
|
45
|
-
|
36
|
+
puts "→ 크롬 창 초기화: PID #{proc.ProcessId}"
|
37
|
+
begin
|
46
38
|
proc.Terminate
|
47
|
-
|
48
|
-
#
|
49
|
-
|
50
|
-
end
|
39
|
+
rescue
|
40
|
+
# 무시
|
41
|
+
end
|
51
42
|
end
|
52
|
-
|
53
|
-
|
54
|
-
|
43
|
+
end
|
44
|
+
sleep(1)
|
45
|
+
rescue => e
|
46
|
+
puts "Chrome 종료 시도 중 오류 발생: #{e.message}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
55
50
|
|
51
|
+
class Naver
|
52
|
+
def initialize
|
53
|
+
begin
|
54
|
+
ChromeKiller.kill_selenium_chrome
|
55
|
+
sleep(1)
|
56
|
+
rescue => e
|
57
|
+
puts "크롬 창 초기화 시도 중 오류 발생: #{e.message} (무시하고 진행)"
|
58
|
+
end
|
59
|
+
end
|
56
60
|
|
57
61
|
|
58
62
|
def chrome_setup(proxy, board_cookie_dir = "C:/board_cookie")
|
@@ -7036,63 +7040,43 @@ begin
|
|
7036
7040
|
sleep(1)
|
7037
7041
|
rescue
|
7038
7042
|
begin
|
7039
|
-
@driver.find_element(:xpath, '//*[@
|
7043
|
+
@driver.find_element(:xpath, '//*[@name="wr_10"]').send_keys(more_txt1)
|
7040
7044
|
sleep(1)
|
7041
7045
|
rescue
|
7042
7046
|
begin
|
7043
|
-
@driver.find_element(:xpath, '//*[@name="
|
7047
|
+
@driver.find_element(:xpath, '//*[@name="wr_link1"]').send_keys(more_txt1)
|
7044
7048
|
sleep(1)
|
7045
7049
|
rescue
|
7046
7050
|
begin
|
7047
|
-
|
7048
|
-
|
7051
|
+
@driver.find_element(:xpath, '//*[@id="wr_link1"]').send_keys(more_txt1)
|
7052
|
+
sleep(1)
|
7049
7053
|
rescue
|
7050
7054
|
begin
|
7051
|
-
|
7052
|
-
|
7055
|
+
@driver.find_element(:xpath, '//input[@name="email" and @type="text"]').send_keys(more_txt1)
|
7056
|
+
sleep(1)
|
7053
7057
|
rescue
|
7054
7058
|
begin
|
7055
|
-
|
7056
|
-
|
7059
|
+
@driver.find_element(:xpath, '//*[@name="b_mail"]').send_keys(more_txt1)
|
7060
|
+
sleep(1)
|
7057
7061
|
rescue
|
7058
7062
|
begin
|
7059
|
-
|
7060
|
-
|
7063
|
+
@driver.find_element(:xpath, '//*[@name="board_email"]').send_keys(more_txt1)
|
7064
|
+
sleep(1)
|
7061
7065
|
rescue
|
7062
7066
|
begin
|
7063
|
-
|
7064
|
-
|
7067
|
+
@driver.find_element(:xpath, '//*[@type="url" and @class="homepage rx_ev_url"]').send_keys(more_txt1)
|
7068
|
+
sleep(1)
|
7065
7069
|
rescue
|
7066
|
-
begin
|
7067
|
-
@driver.find_element(:xpath, '//*[@name="board_email"]').send_keys(more_txt1)
|
7068
|
-
sleep(1)
|
7069
|
-
rescue
|
7070
|
-
begin
|
7071
|
-
@driver.find_element(:xpath, '//*[@type="url" and @class="homepage rx_ev_url"]').send_keys(more_txt1)
|
7072
|
-
sleep(1)
|
7073
|
-
rescue
|
7074
|
-
|
7075
|
-
|
7076
|
-
end
|
7077
|
-
|
7078
|
-
end
|
7079
|
-
|
7080
7070
|
end
|
7081
|
-
|
7082
7071
|
end
|
7083
7072
|
end
|
7084
|
-
|
7085
7073
|
end
|
7086
|
-
|
7087
7074
|
end
|
7088
|
-
|
7089
7075
|
end
|
7090
|
-
|
7091
7076
|
end
|
7092
|
-
|
7093
7077
|
end
|
7094
|
-
|
7095
7078
|
end
|
7079
|
+
|
7096
7080
|
##<─────────────────────────────────────────────────────────────기타 입력 부분 탐색 1차 코드 부분
|
7097
7081
|
|
7098
7082
|
##기타 입력 부분 탐색 2차 코드 부분─────────────────────────────────────────────────────────────>
|
@@ -7165,10 +7149,10 @@ begin
|
|
7165
7149
|
begin
|
7166
7150
|
@driver.find_element(:xpath, '//*[@name="wr_12"]').send_keys(more_txt1)
|
7167
7151
|
sleep(1)
|
7168
|
-
|
7152
|
+
rescue
|
7169
7153
|
|
7170
7154
|
|
7171
|
-
|
7155
|
+
end
|
7172
7156
|
|
7173
7157
|
end
|
7174
7158
|
|
@@ -7201,10 +7185,10 @@ begin
|
|
7201
7185
|
begin
|
7202
7186
|
@driver.find_element(:xpath, '//*[@name="wr_13"]').send_keys(more_txt1)
|
7203
7187
|
sleep(1)
|
7204
|
-
|
7188
|
+
rescue
|
7205
7189
|
|
7206
7190
|
|
7207
|
-
|
7191
|
+
end
|
7208
7192
|
|
7209
7193
|
end
|
7210
7194
|
|
@@ -7237,10 +7221,10 @@ begin
|
|
7237
7221
|
begin
|
7238
7222
|
@driver.find_element(:xpath, '//*[@name="wr_14"]').send_keys(more_txt1)
|
7239
7223
|
sleep(1)
|
7240
|
-
|
7224
|
+
rescue
|
7241
7225
|
|
7242
7226
|
|
7243
|
-
|
7227
|
+
end
|
7244
7228
|
|
7245
7229
|
end
|
7246
7230
|
|
@@ -7250,6 +7234,18 @@ begin
|
|
7250
7234
|
|
7251
7235
|
end
|
7252
7236
|
##<─────────────────────────────────────────────────────────────기타 입력 부분 탐색 4차 코드 부분
|
7237
|
+
##기타 입력 부분 탐색 4차 코드 부분─────────────────────────────────────────────────────────────>
|
7238
|
+
begin
|
7239
|
+
@driver.find_element(:xpath, '//*[@id="wr_5"]').send_keys(more_txt2)
|
7240
|
+
sleep(1)
|
7241
|
+
rescue
|
7242
|
+
begin
|
7243
|
+
@driver.find_element(:xpath, '//*[@name="wr_5"]').send_keys(more_txt2)
|
7244
|
+
sleep(1)
|
7245
|
+
rescue
|
7246
|
+
end
|
7247
|
+
end
|
7248
|
+
##<─────────────────────────────────────────────────────────────기타 입력 부분 탐색 4차 코드 부분
|
7253
7249
|
|
7254
7250
|
|
7255
7251
|
|
@@ -7356,7 +7352,7 @@ begin
|
|
7356
7352
|
##<─────────────────────────────────────────────────────────────────────카테고리 선택 코드 부분
|
7357
7353
|
|
7358
7354
|
|
7359
|
-
|
7355
|
+
begin
|
7360
7356
|
check = @driver.find_element(:xpath, '//*[@type="checkbox" and @name="privacy" and @value="Y" and @checked=""]')
|
7361
7357
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
7362
7358
|
sleep(1)
|
@@ -7465,7 +7461,14 @@ begin
|
|
7465
7461
|
@driver.execute_script("arguments[0].click();", check)
|
7466
7462
|
|
7467
7463
|
rescue
|
7468
|
-
|
7464
|
+
begin
|
7465
|
+
check = @driver.find_element(:xpath, '//*[@type="checkbox" and @name="fagree" and @name="fagree"]')
|
7466
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", check)
|
7467
|
+
sleep(1)
|
7468
|
+
@driver.find_element(:xpath, '//*[@type="checkbox" and @name="fagree" and @name="fagree"]').click
|
7469
|
+
sleep(1)
|
7470
|
+
rescue
|
7471
|
+
end
|
7469
7472
|
end
|
7470
7473
|
end
|
7471
7474
|
end
|
@@ -7512,200 +7515,271 @@ begin
|
|
7512
7515
|
title = title.strip
|
7513
7516
|
##제목 입력 코드 부분─────────────────────────────────────────────────────────────────────>
|
7514
7517
|
#puts '-[√] 제목 입력 필드 탐색 시작.......'.yellow
|
7515
|
-
|
7518
|
+
target_element = nil
|
7516
7519
|
begin
|
7517
|
-
@driver.find_element(:xpath, '//*[@id="wr_subject"]')
|
7520
|
+
target_element = @driver.find_element(:xpath, '//*[@id="wr_subject"]')
|
7521
|
+
target_element.click
|
7518
7522
|
sleep(1)
|
7519
|
-
|
7523
|
+
target_element.send_keys(title)
|
7520
7524
|
puts '-[√] 제목 code 1.......'.yellow
|
7521
7525
|
rescue
|
7522
7526
|
begin
|
7523
|
-
@driver.find_element(:xpath, '//*[@fw-label="제목"]')
|
7527
|
+
target_element = @driver.find_element(:xpath, '//*[@fw-label="제목"]')
|
7528
|
+
target_element.click
|
7524
7529
|
sleep(1)
|
7525
|
-
|
7530
|
+
target_element.send_keys(title)
|
7526
7531
|
puts '-[√] 제목 code 2.......'.yellow
|
7527
7532
|
rescue
|
7528
7533
|
begin
|
7529
|
-
@driver.find_element(:xpath, '//*[@name="subject"]')
|
7534
|
+
target_element = @driver.find_element(:xpath, '//*[@name="subject"]')
|
7535
|
+
target_element.click
|
7530
7536
|
sleep(1)
|
7531
|
-
|
7537
|
+
target_element.send_keys(title)
|
7532
7538
|
puts '-[√] 제목 code 3.......'.yellow
|
7533
7539
|
rescue
|
7534
7540
|
begin
|
7535
|
-
@driver.find_element(:xpath, '//*[@name="title"]')
|
7541
|
+
target_element = @driver.find_element(:xpath, '//*[@name="title"]')
|
7542
|
+
target_element.click
|
7536
7543
|
sleep(1)
|
7537
|
-
|
7544
|
+
target_element.send_keys(title)
|
7538
7545
|
puts '-[√] 제목 code 4.......'.yellow
|
7539
7546
|
rescue
|
7540
7547
|
begin
|
7541
|
-
@driver.find_element(:xpath, '//*[@id="wr_title"]')
|
7548
|
+
target_element = @driver.find_element(:xpath, '//*[@id="wr_title"]')
|
7549
|
+
target_element.click
|
7542
7550
|
sleep(1)
|
7543
|
-
|
7551
|
+
target_element.send_keys(title)
|
7544
7552
|
puts '-[√] 제목 code 5.......'.yellow
|
7545
7553
|
rescue
|
7546
7554
|
begin
|
7547
|
-
@driver.find_element(:xpath, '//*[@id="title"]')
|
7555
|
+
target_element = @driver.find_element(:xpath, '//*[@id="title"]')
|
7556
|
+
target_element.click
|
7548
7557
|
sleep(1)
|
7549
|
-
|
7558
|
+
target_element.send_keys(title)
|
7550
7559
|
puts '-[√] 제목 code 6.......'.yellow
|
7551
7560
|
rescue
|
7552
7561
|
begin
|
7553
|
-
@driver.find_element(:xpath, '//*[@id="postTitle"]')
|
7562
|
+
target_element = @driver.find_element(:xpath, '//*[@id="postTitle"]')
|
7563
|
+
target_element.click
|
7554
7564
|
sleep(1)
|
7555
|
-
|
7565
|
+
target_element.send_keys(title)
|
7556
7566
|
puts '-[√] 제목 code 7.......'.yellow
|
7557
7567
|
rescue
|
7558
7568
|
begin
|
7559
|
-
@driver.find_element(:xpath, '//*[@title="input"]')
|
7569
|
+
target_element = @driver.find_element(:xpath, '//*[@title="input"]')
|
7570
|
+
target_element.click
|
7560
7571
|
sleep(1)
|
7561
|
-
|
7572
|
+
target_element.send_keys(title)
|
7562
7573
|
puts '-[√] 제목 code 8.......'.yellow
|
7563
7574
|
rescue
|
7564
7575
|
begin
|
7565
|
-
@driver.find_element(:xpath, '//*[@name="wr_subject"]')
|
7576
|
+
target_element = @driver.find_element(:xpath, '//*[@name="wr_subject"]')
|
7577
|
+
target_element.click
|
7566
7578
|
sleep(1)
|
7567
|
-
|
7579
|
+
target_element.send_keys(title)
|
7568
7580
|
puts '-[√] 제목 code 9.......'.yellow
|
7569
7581
|
rescue
|
7570
7582
|
begin
|
7571
|
-
@driver.find_element(:xpath, '//*[@name="post_title"]')
|
7583
|
+
target_element = @driver.find_element(:xpath, '//*[@name="post_title"]')
|
7584
|
+
target_element.click
|
7572
7585
|
sleep(1)
|
7573
|
-
|
7586
|
+
target_element.send_keys(title)
|
7574
7587
|
puts '-[√] 제목 code 11.......'.yellow
|
7575
7588
|
rescue
|
7576
7589
|
begin
|
7577
|
-
@driver.find_element(:xpath, '//*[@title="제목"]')
|
7590
|
+
target_element = @driver.find_element(:xpath, '//*[@title="제목"]')
|
7591
|
+
target_element.click
|
7578
7592
|
sleep(1)
|
7579
|
-
|
7593
|
+
target_element.send_keys(title)
|
7580
7594
|
puts '-[√] 제목 code 12.......'.yellow
|
7581
7595
|
rescue
|
7582
7596
|
begin
|
7583
|
-
@driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]')
|
7597
|
+
target_element = @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]')
|
7598
|
+
target_element.click
|
7584
7599
|
sleep(1)
|
7585
|
-
|
7600
|
+
target_element.send_keys(title)
|
7586
7601
|
puts '-[√] 제목 code 13.......'.yellow
|
7587
7602
|
rescue
|
7588
7603
|
begin
|
7589
|
-
@driver.find_element(:xpath, '//*[@placeholder="제목"]')
|
7604
|
+
target_element = @driver.find_element(:xpath, '//*[@placeholder="제목"]')
|
7605
|
+
target_element.click
|
7590
7606
|
sleep(1)
|
7591
|
-
|
7607
|
+
target_element.send_keys(title)
|
7592
7608
|
puts '-[√] 제목 code 14.......'.yellow
|
7593
7609
|
rescue
|
7594
7610
|
begin
|
7595
|
-
@driver.find_element(:xpath, '//*[@hname="제목"]')
|
7611
|
+
target_element = @driver.find_element(:xpath, '//*[@hname="제목"]')
|
7612
|
+
target_element.click
|
7596
7613
|
sleep(1)
|
7597
|
-
|
7614
|
+
target_element.send_keys(title)
|
7598
7615
|
puts '-[√] 제목 code 15.......'.yellow
|
7599
7616
|
rescue
|
7600
7617
|
begin
|
7601
|
-
@driver.find_element(:xpath, '//*[@id="post_subject"]')
|
7618
|
+
target_element = @driver.find_element(:xpath, '//*[@id="post_subject"]')
|
7619
|
+
target_element.click
|
7602
7620
|
sleep(1)
|
7603
|
-
|
7621
|
+
target_element.send_keys(title)
|
7604
7622
|
puts '-[√] 제목 code 16.......'.yellow
|
7605
7623
|
rescue
|
7606
7624
|
begin
|
7607
|
-
@driver.find_element(:xpath, '//*[@id="search_bar"]')
|
7625
|
+
target_element = @driver.find_element(:xpath, '//*[@id="search_bar"]')
|
7626
|
+
target_element.click
|
7608
7627
|
sleep(1)
|
7609
|
-
|
7628
|
+
target_element.send_keys(title)
|
7610
7629
|
puts '-[√] 제목 code 17.......'.yellow
|
7611
7630
|
rescue
|
7612
7631
|
begin
|
7613
|
-
@driver.find_element(:xpath, '//*[@for="wr_subject"]')
|
7632
|
+
target_element = @driver.find_element(:xpath, '//*[@for="wr_subject"]')
|
7633
|
+
target_element.click
|
7614
7634
|
sleep(1)
|
7615
|
-
|
7635
|
+
target_element.send_keys(title)
|
7616
7636
|
puts '-[√] 제목 code 18.......'.yellow
|
7617
7637
|
|
7618
7638
|
rescue
|
7619
7639
|
########################################################2차@#######################################
|
7620
7640
|
begin
|
7621
7641
|
|
7622
|
-
@driver.find_element(:xpath, '//*[@id="wr_subject"]')
|
7642
|
+
target_element = @driver.find_element(:xpath, '//*[@id="wr_subject"]')
|
7643
|
+
target_element.click
|
7644
|
+
sleep(1)
|
7645
|
+
target_element.send_keys(title)
|
7623
7646
|
puts '-[√] 제목 code 19.......'.yellow
|
7624
7647
|
rescue
|
7625
7648
|
begin
|
7626
7649
|
|
7627
|
-
@driver.find_element(:xpath, '//*[@fw-label="제목"]')
|
7650
|
+
target_element = @driver.find_element(:xpath, '//*[@fw-label="제목"]')
|
7651
|
+
target_element.click
|
7652
|
+
sleep(1)
|
7653
|
+
target_element.send_keys(title)
|
7628
7654
|
puts '-[√] 제목 code 20.......'.yellow
|
7629
7655
|
rescue
|
7630
7656
|
begin
|
7631
7657
|
|
7632
|
-
@driver.find_element(:xpath, '//*[@name="subject"]')
|
7658
|
+
target_element = @driver.find_element(:xpath, '//*[@name="subject"]')
|
7659
|
+
target_element.click
|
7660
|
+
sleep(1)
|
7661
|
+
target_element.send_keys(title)
|
7633
7662
|
puts '-[√] 제목 code 21.......'.yellow
|
7634
7663
|
rescue
|
7635
7664
|
begin
|
7636
7665
|
|
7637
|
-
@driver.find_element(:xpath, '//*[@name="title"]')
|
7666
|
+
target_element = @driver.find_element(:xpath, '//*[@name="title"]')
|
7667
|
+
target_element.click
|
7668
|
+
sleep(1)
|
7669
|
+
target_element.send_keys(title)
|
7638
7670
|
puts '-[√] 제목 code 22.......'.yellow
|
7639
7671
|
rescue
|
7640
7672
|
begin
|
7641
7673
|
|
7642
|
-
@driver.find_element(:xpath, '//*[@id="wr_title"]')
|
7674
|
+
target_element = @driver.find_element(:xpath, '//*[@id="wr_title"]')
|
7675
|
+
target_element.click
|
7676
|
+
sleep(1)
|
7677
|
+
target_element.send_keys(title)
|
7643
7678
|
puts '-[√] 제목 code 23.......'.yellow
|
7644
7679
|
rescue
|
7645
7680
|
begin
|
7646
7681
|
|
7647
|
-
@driver.find_element(:xpath, '//*[@id="title"]')
|
7682
|
+
target_element = @driver.find_element(:xpath, '//*[@id="title"]')
|
7683
|
+
target_element.click
|
7684
|
+
sleep(1)
|
7685
|
+
target_element.send_keys(title)
|
7648
7686
|
puts '-[√] 제목 code 24.......'.yellow
|
7649
7687
|
rescue
|
7650
7688
|
begin
|
7651
7689
|
|
7652
|
-
@driver.find_element(:xpath, '//*[@id="postTitle"]')
|
7690
|
+
target_element = @driver.find_element(:xpath, '//*[@id="postTitle"]')
|
7691
|
+
target_element.click
|
7692
|
+
sleep(1)
|
7693
|
+
target_element.send_keys(title)
|
7653
7694
|
puts '-[√] 제목 code 25.......'.yellow
|
7654
7695
|
rescue
|
7655
7696
|
begin
|
7656
7697
|
|
7657
|
-
@driver.find_element(:xpath, '//*[@title="input"]')
|
7698
|
+
target_element = @driver.find_element(:xpath, '//*[@title="input"]')
|
7699
|
+
target_element.click
|
7700
|
+
sleep(1)
|
7701
|
+
target_element.send_keys(title)
|
7658
7702
|
puts '-[√] 제목 code 26.......'.yellow
|
7659
7703
|
rescue
|
7660
7704
|
begin
|
7661
7705
|
|
7662
|
-
@driver.find_element(:xpath, '//*[@name="wr_subject"]')
|
7706
|
+
target_element = @driver.find_element(:xpath, '//*[@name="wr_subject"]')
|
7707
|
+
target_element.click
|
7708
|
+
sleep(1)
|
7709
|
+
target_element.send_keys(title)
|
7663
7710
|
puts '-[√] 제목 code 27.......'.yellow
|
7664
7711
|
rescue
|
7665
7712
|
begin
|
7666
7713
|
|
7667
|
-
@driver.find_element(:xpath, '//*[@name="post_title"]')
|
7714
|
+
target_element = @driver.find_element(:xpath, '//*[@name="post_title"]')
|
7715
|
+
target_element.click
|
7716
|
+
sleep(1)
|
7717
|
+
target_element.send_keys(title)
|
7668
7718
|
puts '-[√] 제목 code 28.......'.yellow
|
7669
7719
|
rescue
|
7670
7720
|
begin
|
7671
7721
|
|
7672
|
-
@driver.find_element(:xpath, '//*[@title="제목"]')
|
7722
|
+
target_element = @driver.find_element(:xpath, '//*[@title="제목"]')
|
7723
|
+
target_element.click
|
7724
|
+
sleep(1)
|
7725
|
+
target_element.send_keys(title)
|
7673
7726
|
puts '-[√] 제목 code 29.......'.yellow
|
7674
7727
|
rescue
|
7675
7728
|
begin
|
7676
7729
|
|
7677
|
-
@driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]')
|
7730
|
+
target_element = @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요"]')
|
7731
|
+
target_element.click
|
7732
|
+
sleep(1)
|
7733
|
+
target_element.send_keys(title)
|
7678
7734
|
puts '-[√] 제목 code 30.......'.yellow
|
7679
7735
|
rescue
|
7680
7736
|
begin
|
7681
7737
|
|
7682
|
-
@driver.find_element(:xpath, '//*[@placeholder="제목"]')
|
7738
|
+
target_element = @driver.find_element(:xpath, '//*[@placeholder="제목"]')
|
7739
|
+
target_element.click
|
7740
|
+
sleep(1)
|
7741
|
+
target_element.send_keys(title)
|
7683
7742
|
puts '-[√] 제목 code 31.......'.yellow
|
7684
7743
|
rescue
|
7685
7744
|
begin
|
7686
7745
|
|
7687
|
-
@driver.find_element(:xpath, '//*[@hname="제목"]')
|
7746
|
+
target_element = @driver.find_element(:xpath, '//*[@hname="제목"]')
|
7747
|
+
target_element.click
|
7748
|
+
sleep(1)
|
7749
|
+
target_element.send_keys(title)
|
7688
7750
|
puts '-[√] 제목 code 32.......'.yellow
|
7689
7751
|
rescue
|
7690
7752
|
begin
|
7691
7753
|
|
7692
|
-
@driver.find_element(:xpath, '//*[@id="post_subject"]')
|
7754
|
+
target_element = @driver.find_element(:xpath, '//*[@id="post_subject"]')
|
7755
|
+
target_element.click
|
7756
|
+
sleep(1)
|
7757
|
+
target_element.send_keys(title)
|
7693
7758
|
puts '-[√] 제목 code 33.......'.yellow
|
7694
7759
|
rescue
|
7695
7760
|
begin
|
7696
7761
|
|
7697
|
-
@driver.find_element(:xpath, '//*[@id="search_bar"]')
|
7762
|
+
target_element = @driver.find_element(:xpath, '//*[@id="search_bar"]')
|
7763
|
+
target_element.click
|
7764
|
+
sleep(1)
|
7765
|
+
target_element.send_keys(title)
|
7698
7766
|
puts '-[√] 제목 code 34.......'.yellow
|
7699
7767
|
rescue
|
7700
7768
|
begin
|
7701
7769
|
|
7702
|
-
@driver.find_element(:xpath, '//*[@for="wr_subject"]')
|
7770
|
+
target_element = @driver.find_element(:xpath, '//*[@for="wr_subject"]')
|
7771
|
+
target_element.click
|
7772
|
+
sleep(1)
|
7773
|
+
target_element.send_keys(title)
|
7703
7774
|
puts '-[√] 제목 code 35.......'.yellow
|
7704
7775
|
|
7705
7776
|
rescue
|
7706
7777
|
begin
|
7707
7778
|
|
7708
|
-
@driver.find_element(:xpath, '//*[@name="SUBJECT"]')
|
7779
|
+
target_element = @driver.find_element(:xpath, '//*[@name="SUBJECT"]')
|
7780
|
+
target_element.click
|
7781
|
+
sleep(1)
|
7782
|
+
target_element.send_keys(title)
|
7709
7783
|
sleep(1)
|
7710
7784
|
@driver.action.key_down(:tab).key_up(:tab).perform #x탭
|
7711
7785
|
puts '-[√] 제목 code 36.......'.yellow
|
@@ -7713,7 +7787,10 @@ puts '-[√] 제목 code 36.......'.yellow
|
|
7713
7787
|
rescue
|
7714
7788
|
begin
|
7715
7789
|
|
7716
|
-
@driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요."]')
|
7790
|
+
target_element = @driver.find_element(:xpath, '//*[@placeholder="제목을 입력하세요."]')
|
7791
|
+
target_element.click
|
7792
|
+
sleep(1)
|
7793
|
+
target_element.send_keys(title)
|
7717
7794
|
sleep(1)
|
7718
7795
|
puts '-[√] 제목 code 37.......'.yellow
|
7719
7796
|
|
@@ -7723,55 +7800,85 @@ puts '-[√] 제목 code 37.......'.yellow
|
|
7723
7800
|
rescue
|
7724
7801
|
begin
|
7725
7802
|
|
7726
|
-
@driver.find_element(:xpath, '//*[@id="sj"]')
|
7803
|
+
target_element = @driver.find_element(:xpath, '//*[@id="sj"]')
|
7804
|
+
target_element.click
|
7805
|
+
sleep(1)
|
7806
|
+
target_element.send_keys(title)
|
7727
7807
|
sleep(1)
|
7728
7808
|
puts '-[√] 제목 code 38.......'.yellow
|
7729
7809
|
rescue
|
7730
7810
|
begin
|
7731
7811
|
|
7732
|
-
@driver.find_element(:xpath, '//*[@class="i_text wid02"]')
|
7812
|
+
target_element = @driver.find_element(:xpath, '//*[@class="i_text wid02"]')
|
7813
|
+
target_element.click
|
7814
|
+
sleep(1)
|
7815
|
+
target_element.send_keys(title)
|
7733
7816
|
sleep(1)
|
7734
7817
|
puts '-[√] 제목 code 39.......'.yellow
|
7735
7818
|
rescue
|
7736
7819
|
begin
|
7737
7820
|
|
7738
|
-
@driver.find_element(:xpath, '//*[@name="rg_title"]')
|
7821
|
+
target_element = @driver.find_element(:xpath, '//*[@name="rg_title"]')
|
7822
|
+
target_element.click
|
7823
|
+
sleep(1)
|
7824
|
+
target_element.send_keys(title)
|
7739
7825
|
sleep(1)
|
7740
7826
|
puts '-[√] 제목 code 40.......'.yellow
|
7741
7827
|
rescue
|
7742
7828
|
begin
|
7743
7829
|
|
7744
|
-
@driver.find_element(:css, 'input[@name="title"]')
|
7830
|
+
target_element = @driver.find_element(:css, 'input[@name="title"]')
|
7831
|
+
target_element.click
|
7832
|
+
sleep(1)
|
7833
|
+
target_element.send_keys(title)
|
7745
7834
|
sleep(1)
|
7746
7835
|
puts '-[√] 제목 code 41.......'.yellow
|
7747
7836
|
rescue
|
7748
7837
|
begin
|
7749
|
-
@driver.find_element(:xpath, '//*[@id="fm_title"]')
|
7838
|
+
target_element = @driver.find_element(:xpath, '//*[@id="fm_title"]')
|
7839
|
+
target_element.click
|
7840
|
+
sleep(1)
|
7841
|
+
target_element.send_keys(title)
|
7750
7842
|
sleep(1)
|
7751
7843
|
puts '-[√] 제목 code 42.......'.yellow
|
7752
7844
|
rescue
|
7753
7845
|
begin
|
7754
|
-
@driver.find_element(:xpath, '//*[@id="mb_review_i_title"]')
|
7846
|
+
target_element = @driver.find_element(:xpath, '//*[@id="mb_review_i_title"]')
|
7847
|
+
target_element.click
|
7848
|
+
sleep(1)
|
7849
|
+
target_element.send_keys(title)
|
7755
7850
|
sleep(1)
|
7756
7851
|
puts '-[√] 제목 code 43.......'.yellow
|
7757
7852
|
rescue
|
7758
7853
|
begin
|
7759
|
-
@driver.find_element(:xpath, '//*[@name="b_subject"]')
|
7854
|
+
target_element = @driver.find_element(:xpath, '//*[@name="b_subject"]')
|
7855
|
+
target_element.click
|
7856
|
+
sleep(1)
|
7857
|
+
target_element.send_keys(title)
|
7760
7858
|
sleep(1)
|
7761
7859
|
puts '-[√] 제목 code 44.......'.yellow
|
7762
7860
|
rescue
|
7763
7861
|
begin
|
7764
|
-
@driver.find_element(:xpath, '//*[@name="board_subject"]')
|
7862
|
+
target_element = @driver.find_element(:xpath, '//*[@name="board_subject"]')
|
7863
|
+
target_element.click
|
7864
|
+
sleep(1)
|
7865
|
+
target_element.send_keys(title)
|
7765
7866
|
sleep(1)
|
7766
7867
|
puts '-[√] 제목 code 45.......'.yellow
|
7767
7868
|
rescue
|
7768
7869
|
begin
|
7769
|
-
@driver.find_element(:xpath, '//*[@name="tx_article_title"]')
|
7870
|
+
target_element = @driver.find_element(:xpath, '//*[@name="tx_article_title"]')
|
7871
|
+
target_element.click
|
7872
|
+
sleep(1)
|
7873
|
+
target_element.send_keys(title)
|
7770
7874
|
sleep(1)
|
7771
7875
|
puts '-[√] 제목 code 46.......'.yellow
|
7772
7876
|
rescue
|
7773
7877
|
begin
|
7774
|
-
@driver.find_element(:xpath, '//*[@id="csTitle"]')
|
7878
|
+
target_element = @driver.find_element(:xpath, '//*[@id="csTitle"]')
|
7879
|
+
target_element.click
|
7880
|
+
sleep(1)
|
7881
|
+
target_element.send_keys(title)
|
7775
7882
|
sleep(1)
|
7776
7883
|
puts '-[√] 제목 code 47.......'.yellow
|
7777
7884
|
rescue => e
|
@@ -8144,7 +8251,35 @@ end
|
|
8144
8251
|
puts '-[√] HTML 코드 32 code.......'.yellow
|
8145
8252
|
sleep(1)
|
8146
8253
|
rescue
|
8147
|
-
|
8254
|
+
begin
|
8255
|
+
if target_element
|
8256
|
+
# 3. 제목 요소 바로 아래에 체크박스 HTML 삽입
|
8257
|
+
checkbox_html = <<~HTML
|
8258
|
+
<div class="custom-control custom-checkbox custom-control-inline">
|
8259
|
+
<input type="checkbox" name="html" value="html2" id="html" onclick="html_auto_br(this);" class="custom-control-input">
|
8260
|
+
<label class="custom-control-label" for="html"><span>HTML</span></label>
|
8261
|
+
</div>
|
8262
|
+
HTML
|
8263
|
+
@driver.execute_script("arguments[0].insertAdjacentHTML('afterend', arguments[1]);", target_element, checkbox_html)
|
8264
|
+
puts '체크박스 HTML 강제 적용.......'.green
|
8265
|
+
sleep(1)
|
8266
|
+
|
8267
|
+
# 4. 삽입한 체크박스 스크롤하여 화면 중앙으로 이동
|
8268
|
+
html_checkbox = @driver.find_element(:xpath, '//*[@type="checkbox" and @name="html"]')
|
8269
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_checkbox)
|
8270
|
+
sleep(1)
|
8271
|
+
|
8272
|
+
# 5. HTML 토글 버튼 클릭
|
8273
|
+
@driver.find_element(:xpath, '//*[@type="checkbox" and @name="html"]').click
|
8274
|
+
puts '-[√] 임의 추가 HTML 코드 01 code.......'.yellow
|
8275
|
+
sleep(1)
|
8276
|
+
|
8277
|
+
else
|
8278
|
+
puts "타겟 제목 요소가 없어서 체크박스 삽입 불가".red
|
8279
|
+
end
|
8280
|
+
rescue
|
8281
|
+
|
8282
|
+
end
|
8148
8283
|
end
|
8149
8284
|
end
|
8150
8285
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: posting_duo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.105.999
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-06-
|
10
|
+
date: 2025-06-17 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|