-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrooted_sample.js
115 lines (103 loc) · 3.73 KB
/
rooted_sample.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// DUMMY ROOTED FILE USE ONLY FOR DEBUGGING
const puppeteer = require('puppeteer');
// parse command line arguments
const args = process.argv.slice(2);
let deliveryDate = '';
let flowerNames = [];
// get argument by flag
function getArgValue(flag) {
const index = args.indexOf(flag);
return index > -1 ? args[index + 1] : null;
}
// extract values
deliveryDate = getArgValue('--deliveryDate') || '';
flowerNames = getArgValue('--flowerNames') ? getArgValue('--flowerNames').split(',') : [
"STOCK", "SNAPDRAGON", "SALAL", "DELPHINIUM", "ROSE", "CARNATION", "LISIANTHUS", "SCABIOSA", "MUMS", "RANUNCULUS", "ANEMONE", "EUCALYPTUS", "RUSCUS"
];
let numPages = 0;
(async () => {
let flowers = [];
let browser = null;
try {
browser = await puppeteer.launch(); // launches puppeteer browser instance
const page = await browser.newPage(); // opens new browser tab
//console.log("loaded browser")
// print browser console messages
// page.on('console', async msg => {
// const args = await Promise.all(msg.args().map(arg => arg.jsonValue()));
// if (args.length > 0 && args[0].includes("console:")) {
// console.log(`${args}`);
// }
// });
// login to kennicott
const url = "https://www.rootedfarmers.com/account/sign-in";
const username = "[email protected]";
const password = "RRShappydayz5!";
//await page.goto(url); // load home page
// FOR FRONTEND DEBUG
flowers.push({
flowerName: 'ROSE',
flowerImage: 'https://cdn.pixabay.com/photo/2023/11/06/09/43/lotus-8369252_1280.jpg',
prices: '$12.00/BU, $1.20/ST',
stemPrice: '2.00',
color: 'White',
height: '20 cm',
stemsPer: '120',
seller: "Rooted Farmers",
farm: 'LIVE & LOCAL',
available: '10 BU',
delivery: '10/20/2024',
});
// FOR FRONTEND DEBUG
flowers.push({
flowerName: 'CARNATION',
flowerImage: 'https://cdn.pixabay.com/photo/2023/11/06/09/43/lotus-8369252_1280.jpg',
prices: '$12.00/BU, $1.50/ST',
stemPrice: '1.00',
color: 'Red',
height: '10 cm',
stemsPer: '100',
seller: "Rooted Farmers",
farm: 'Dutch Direct',
available: '20 BU',
delivery: '10/04/2024',
});
// FOR FRONTEND DEBUG
flowers.push({
flowerName: 'SALAL',
flowerImage: 'https://cdn.pixabay.com/photo/2023/11/06/09/43/lotus-8369252_1280.jpg',
prices: '$20.00/BU, $1.60/ST',
stemPrice: '6.00',
color: 'Pink',
height: '20 cm',
stemsPer: '120',
seller: "Rooted Farmers",
farm: 'LIVE & LOCAL',
available: '0 BU',
delivery: '10/02/2024',
});
// FOR FRONTEND DEBUG
flowers.push({
flowerName: 'MUMS',
flowerImage: 'https://cdn.pixabay.com/photo/2023/11/06/09/43/lotus-8369252_1280.jpg',
prices: '$12.00/BU, $1.00/ST',
stemPrice: '2.50',
color: 'Dark Red',
height: '1 cm',
stemsPer: '10',
seller: "Rooted Farmers",
farm: 'Dutch Direct',
available: '75 BU',
delivery: '10/01/2024',
});
} catch (err) {
console.error("error during login or page load:", err);
} finally {
if (browser) {
await browser.close();
//console.log("closed browser");
}
// console.log("scraped all data");
console.log(JSON.stringify(flowers));
}
})();