Showing
1 changed file
with
47 additions
and
5 deletions
... | @@ -30,13 +30,53 @@ exports.run = async (client, msg, args, prefix) => { | ... | @@ -30,13 +30,53 @@ exports.run = async (client, msg, args, prefix) => { |
30 | var link = await page.waitForSelector('#searchWrap > div > div.item-wrap > div:nth-child(2) > dl:nth-child(1) > dt > a'); | 30 | var link = await page.waitForSelector('#searchWrap > div > div.item-wrap > div:nth-child(2) > dl:nth-child(1) > dt > a'); |
31 | var bestpen_link = await page.evaluate( link => link.href, link ); | 31 | var bestpen_link = await page.evaluate( link => link.href, link ); |
32 | // console.log("베스트펜 검색 링크 : ", bestpen_link); | 32 | // console.log("베스트펜 검색 링크 : ", bestpen_link); |
33 | + | ||
34 | + try { | ||
35 | + var price = await page.waitForSelector( "#searchWrap > div > div.item-wrap > div:nth-child(2) > dl:nth-child(1) > dd > ul > li.prd-price > p:nth-child(2) > span.price" ); | ||
36 | + var bestpen_data = await page.evaluate( price => price.textContent, price ); | ||
37 | + // console.log("베스트펜 검색 결과 가격 : ", bestpen_data); | ||
38 | + } catch { | ||
39 | + // 품절이라서 금액정보가 없을 경우 "SOLD OUT"으로 표시 | ||
40 | + bestpen_data = "SOLD OUT" | ||
41 | + } | ||
42 | + } catch { | ||
43 | + // 제품 정보가 아예 없을 경우 "검색결과 없음"으로 표시 | ||
44 | + bestpen_title = "검색결과 없음" | ||
45 | + bestpen_link = "" | ||
46 | + bestpen_data = "" | ||
47 | + } | ||
48 | + | ||
49 | + // 2. 펜카페 | ||
50 | + await page .goto('http://www.pencafe.co.kr/'); | ||
51 | + | ||
52 | + // search 검색 | ||
53 | + await page .type('#header > div.hd_mib > div.hd_sch.f_left > form > fieldset > input', search) | ||
54 | + await page .keyboard.press( "Enter" ); | ||
55 | + // await page.screenshot({ path : "screenshot.png" }) | ||
56 | + | ||
57 | + // 검색 결과 가져오기 | ||
58 | + try { | ||
59 | + var title = await page.waitForSelector('#searchWrap > div > div.item-wrap > div:nth-child(2) > dl:nth-child(1) > dd > ul > li.prd-name > a'); | ||
60 | + var pencafe_title = await page.evaluate( title => title.textContent, title ); | ||
61 | + console.log("펜카페 검색 결과 제품명 : ", pencafe_title); | ||
33 | 62 | ||
34 | - var price = await page.waitForSelector( "#searchWrap > div > div.item-wrap > div:nth-child(2) > dl:nth-child(1) > dd > ul > li.prd-price > p:nth-child(2) > span.price" ); | 63 | + var link = await page.waitForSelector('#searchWrap > div > div.item-wrap > div:nth-child(2) > dl:nth-child(1) > dd > ul > li.prd-name > a'); |
35 | - var bestpen_data = await page.evaluate( price => price.textContent, price ); | 64 | + var pencafe_link = await page.evaluate( link => link.href, link ); |
36 | - // console.log("베스트펜 검색 결과 가격 : ", bestpen_data); | 65 | + console.log("펜카페 검색 링크 : ", pencafe_link); |
66 | + | ||
67 | + try { | ||
68 | + var price = await page.waitForSelector( "#searchWrap > div > div.item-wrap > div:nth-child(2) > dl:nth-child(1) > dd > ul > li.prd-price > span" ); | ||
69 | + var pencafe_data = await page.evaluate( price => price.textContent, price ); | ||
70 | + console.log("펜카페 검색 결과 가격 : ", pencafe_data); | ||
71 | + } catch { | ||
72 | + // 품절이라서 금액정보가 없을 경우 "SOLD OUT"으로 표시 | ||
73 | + pencafe_data = "SOLD OUT" | ||
74 | + } | ||
37 | } catch { | 75 | } catch { |
38 | - // 품절이라서 금액정보가 없을 경우 "SOLD OUT"으로 표시 | 76 | + // 제품 정보가 아예 없을 경우 "검색결과 없음"으로 표시 |
39 | - bestpen_data = "SOLD OUT" | 77 | + pencafe_title = "검색결과 없음" |
78 | + pencafe_link = "" | ||
79 | + pencafe_data = "" | ||
40 | } | 80 | } |
41 | 81 | ||
42 | // 브라우저 닫기 | 82 | // 브라우저 닫기 |
... | @@ -49,6 +89,8 @@ exports.run = async (client, msg, args, prefix) => { | ... | @@ -49,6 +89,8 @@ exports.run = async (client, msg, args, prefix) => { |
49 | .setColor("E5D49A") | 89 | .setColor("E5D49A") |
50 | // 베스트펜 검색 결과 (ex. 제품명(링크) - 금액) | 90 | // 베스트펜 검색 결과 (ex. 제품명(링크) - 금액) |
51 | .addField('베스트펜', `[${bestpen_title}](${bestpen_link}) - ${bestpen_data}`) | 91 | .addField('베스트펜', `[${bestpen_title}](${bestpen_link}) - ${bestpen_data}`) |
92 | + // 펜카페 검색 결과 | ||
93 | + .addField('펜카페', `[${pencafe_title}](${pencafe_link}) - ${pencafe_data}`) | ||
52 | msg.reply({ embeds: [Commands] }); | 94 | msg.reply({ embeds: [Commands] }); |
53 | }); | 95 | }); |
54 | } else { | 96 | } else { | ... | ... |
-
Please register or login to post a comment