├── .gitignore
├── README.md
├── WebPage.js
├── index.js
├── package-lock.json
├── package.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .env
3 |
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # LINKEDIN-BOT
2 | A linkedin-bot which automatically accepts all the connection invitations.
3 |
4 | ## Running it locally on your machine
5 |
6 | 1) Clone this repo , `cd` to project root and add `.env` file with your username and password.
7 | 2) Make sure node is installed on your system.
8 | 3) Install chrome-driver on your system.
9 | 4) Install dependencies using `npm i`
10 | 5) Run `node index.js`
11 |
12 | ## Running it on cloud instance like AWS
13 |
14 | 1) SSH into your cloud instance.
15 | 2) Clone this repo.
16 | 3) Configure your environment variables.
17 | 3.a) MacOS/Linux
18 | `> export USERNAME="Replace this with your linkedin username without quotes)"`
19 | `> export PASSWORD="Replace this with your linkedin password without quotes)"`
20 | 3.b) Windows-CMD
21 | `> setx USERNAME "Replace this with your linkedin username without quotes"`
22 | `> setx PASSWORD "Replace this with your linkedin password without quotes"`
&
23 | ensp;3.c) Powershell
`> $Env:USERNAME="Replace this with your linkedin username"`
24 | `> $Env:PASSWORD="Replace this with your linkedin password"`
25 | 4) Install node and chrome-driver.
26 | 5) `cd` to project root and install dependencies using `npm i`
27 | 6) Run the application.
28 | 6.a) Launch script by running `node index.js`
29 | 6.b) Launch using pm2 by running `npm install pm2@latest -g && pm2 start index.js`
30 |
--------------------------------------------------------------------------------
/WebPage.js:
--------------------------------------------------------------------------------
1 | require("dotenv").config();
2 | const { Builder, By, until } = require("selenium-webdriver");
3 |
4 | const chrome = require("selenium-webdriver/chrome");
5 |
6 | function initOptions(o) {
7 | // o.addArguments("headless");
8 | o.addArguments("disable-infobars");
9 | o.addArguments("no-sandbox");
10 | o.addArguments(
11 | "user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 RuxitSynthetic/1.0 v6419931773 t38550 ath9b965f92 altpub"
12 | );
13 | o.setUserPreferences({
14 | credential_enable_service: false,
15 | });
16 | }
17 |
18 | const BasePage = function (customAudio = null) {
19 | let o = new chrome.Options();
20 | initOptions(o);
21 |
22 | this.driver = new Builder()
23 | .withCapabilities({ acceptSslCerts: true, acceptInsecureCerts: true })
24 | .setChromeOptions(o)
25 | .forBrowser("chrome")
26 | .build();
27 |
28 | this.visit = async function (theUrl) {
29 | return await this.driver.get(theUrl);
30 | };
31 |
32 | this.findById = async function (id) {
33 | await this.driver.wait(
34 | until.elementLocated(By.id(id)),
35 | 15000,
36 | "Looking for element"
37 | );
38 | return await this.driver.findElement(By.id(id));
39 | };
40 |
41 | this.findByClassName = async function (name) {
42 | const els = await this.driver.wait(
43 | until.elementsLocated(By.className(name)),
44 | 15000,
45 | "Looking for element"
46 | );
47 | return els[els.length - 1];
48 | return await this.driver.findElement(By.className(name));
49 | };
50 |
51 | this.signin = async function () {
52 | let name = process.env.USERNAME || "";
53 | let password = process.env.PASSWORD || "";
54 | let input = await this.findById("session_key");
55 | await input.sendKeys(name);
56 | let input2 = await this.findById("session_password");
57 | await input2.sendKeys(password);
58 | let button = await this.findByClassName(
59 | "sign-in-form__submit-btn--full-width"
60 | );
61 | console.log(button);
62 | await button.click();
63 | };
64 |
65 | this.pressAcceptButton = async function () {
66 | let buttons = await this.findByClassName(
67 | "artdeco-button--secondary invitation-card__action-btn"
68 | );
69 | await buttons.click();
70 | };
71 |
72 | this.scrollToBottom = async function () {
73 | this.driver.executeScript("window.scrollTo(0, document.body.scrollHeight)");
74 | };
75 | };
76 |
77 | module.exports = BasePage;
78 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const { Builder, By, until } = require("selenium-webdriver");
2 | const chrome = require("selenium-webdriver/chrome");
3 | const BasePage = require("./WebPage")
4 |
5 | async function sleep(timeInS) {
6 | await new Promise((resolve) => setTimeout(resolve, timeInS * 1000))
7 | }
8 |
9 | async function startBot() {
10 | const page = new BasePage();
11 | let site = "https://www.linkedin.com";
12 | await page.visit(site);
13 |
14 | await sleep(5)
15 |
16 | await page.signin();
17 | await sleep(20)
18 |
19 | site = "https://www.linkedin.com/mynetwork/invitation-manager";
20 | await sleep(5)
21 | await page.visit(site);
22 |
23 | for (let i = 3; i< 10000; i++) {
24 | if (i % 10 === 9) {
25 | page.visit(site);
26 | await sleep(8)
27 | page.scrollToBottom();
28 | await sleep(2)
29 | }
30 | try {
31 | await page.pressAcceptButton();
32 | await new Promise((resolve) => setTimeout(resolve, 1000))
33 | page.scrollToBottom();
34 | await sleep(3)
35 | } catch(e) {
36 | console.error(e)
37 | }
38 | }
39 | await new Promise((resolve) => setTimeout(resolve, 5000))
40 | }
41 |
42 |
43 | (async () => {
44 | await startBot()
45 | })()
46 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "linkedin-bot",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@testim/chrome-version": {
8 | "version": "1.1.3",
9 | "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.3.tgz",
10 | "integrity": "sha512-g697J3WxV/Zytemz8aTuKjTGYtta9+02kva3C1xc7KXB8GdbfE1akGJIsZLyY/FSh2QrnE+fiB7vmWU3XNcb6A=="
11 | },
12 | "@types/node": {
13 | "version": "18.14.6",
14 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz",
15 | "integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==",
16 | "optional": true
17 | },
18 | "@types/yauzl": {
19 | "version": "2.10.0",
20 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
21 | "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
22 | "optional": true,
23 | "requires": {
24 | "@types/node": "*"
25 | }
26 | },
27 | "agent-base": {
28 | "version": "6.0.2",
29 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
30 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
31 | "requires": {
32 | "debug": "4"
33 | }
34 | },
35 | "asynckit": {
36 | "version": "0.4.0",
37 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
38 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
39 | },
40 | "axios": {
41 | "version": "1.3.4",
42 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz",
43 | "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==",
44 | "requires": {
45 | "follow-redirects": "^1.15.0",
46 | "form-data": "^4.0.0",
47 | "proxy-from-env": "^1.1.0"
48 | }
49 | },
50 | "balanced-match": {
51 | "version": "1.0.2",
52 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
53 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
54 | },
55 | "brace-expansion": {
56 | "version": "1.1.11",
57 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
58 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
59 | "requires": {
60 | "balanced-match": "^1.0.0",
61 | "concat-map": "0.0.1"
62 | }
63 | },
64 | "buffer-crc32": {
65 | "version": "0.2.13",
66 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
67 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
68 | },
69 | "chromedriver": {
70 | "version": "110.0.0",
71 | "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-110.0.0.tgz",
72 | "integrity": "sha512-Le6q8xrA/3fAt+g8qiN0YjsYxINIhQMC6wj9X3W5L77uN4NspEzklDrqYNwBcEVn7PcAEJ73nLlS7mTyZRspHA==",
73 | "requires": {
74 | "@testim/chrome-version": "^1.1.3",
75 | "axios": "^1.2.1",
76 | "compare-versions": "^5.0.1",
77 | "extract-zip": "^2.0.1",
78 | "https-proxy-agent": "^5.0.1",
79 | "proxy-from-env": "^1.1.0",
80 | "tcp-port-used": "^1.0.1"
81 | }
82 | },
83 | "combined-stream": {
84 | "version": "1.0.8",
85 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
86 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
87 | "requires": {
88 | "delayed-stream": "~1.0.0"
89 | }
90 | },
91 | "compare-versions": {
92 | "version": "5.0.3",
93 | "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz",
94 | "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A=="
95 | },
96 | "concat-map": {
97 | "version": "0.0.1",
98 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
99 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
100 | },
101 | "core-util-is": {
102 | "version": "1.0.3",
103 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
104 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
105 | },
106 | "debug": {
107 | "version": "4.3.4",
108 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
109 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
110 | "requires": {
111 | "ms": "2.1.2"
112 | }
113 | },
114 | "deep-is": {
115 | "version": "0.1.4",
116 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
117 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
118 | },
119 | "delayed-stream": {
120 | "version": "1.0.0",
121 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
122 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
123 | },
124 | "dotenv": {
125 | "version": "16.0.3",
126 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
127 | "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
128 | },
129 | "end-of-stream": {
130 | "version": "1.4.4",
131 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
132 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
133 | "requires": {
134 | "once": "^1.4.0"
135 | }
136 | },
137 | "extract-zip": {
138 | "version": "2.0.1",
139 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
140 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
141 | "requires": {
142 | "@types/yauzl": "^2.9.1",
143 | "debug": "^4.1.1",
144 | "get-stream": "^5.1.0",
145 | "yauzl": "^2.10.0"
146 | }
147 | },
148 | "fd-slicer": {
149 | "version": "1.1.0",
150 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
151 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
152 | "requires": {
153 | "pend": "~1.2.0"
154 | }
155 | },
156 | "follow-redirects": {
157 | "version": "1.15.2",
158 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
159 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
160 | },
161 | "form-data": {
162 | "version": "4.0.0",
163 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
164 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
165 | "requires": {
166 | "asynckit": "^0.4.0",
167 | "combined-stream": "^1.0.8",
168 | "mime-types": "^2.1.12"
169 | }
170 | },
171 | "fs.realpath": {
172 | "version": "1.0.0",
173 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
174 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
175 | },
176 | "get-stream": {
177 | "version": "5.2.0",
178 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
179 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
180 | "requires": {
181 | "pump": "^3.0.0"
182 | }
183 | },
184 | "glob": {
185 | "version": "7.2.3",
186 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
187 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
188 | "requires": {
189 | "fs.realpath": "^1.0.0",
190 | "inflight": "^1.0.4",
191 | "inherits": "2",
192 | "minimatch": "^3.1.1",
193 | "once": "^1.3.0",
194 | "path-is-absolute": "^1.0.0"
195 | }
196 | },
197 | "https-proxy-agent": {
198 | "version": "5.0.1",
199 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
200 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
201 | "requires": {
202 | "agent-base": "6",
203 | "debug": "4"
204 | }
205 | },
206 | "immediate": {
207 | "version": "3.0.6",
208 | "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
209 | "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
210 | },
211 | "inflight": {
212 | "version": "1.0.6",
213 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
214 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
215 | "requires": {
216 | "once": "^1.3.0",
217 | "wrappy": "1"
218 | }
219 | },
220 | "inherits": {
221 | "version": "2.0.4",
222 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
223 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
224 | },
225 | "ip-regex": {
226 | "version": "4.3.0",
227 | "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz",
228 | "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q=="
229 | },
230 | "is-url": {
231 | "version": "1.2.4",
232 | "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
233 | "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
234 | },
235 | "is2": {
236 | "version": "2.0.9",
237 | "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz",
238 | "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==",
239 | "requires": {
240 | "deep-is": "^0.1.3",
241 | "ip-regex": "^4.1.0",
242 | "is-url": "^1.2.4"
243 | }
244 | },
245 | "isarray": {
246 | "version": "1.0.0",
247 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
248 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
249 | },
250 | "jszip": {
251 | "version": "3.10.1",
252 | "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
253 | "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
254 | "requires": {
255 | "lie": "~3.3.0",
256 | "pako": "~1.0.2",
257 | "readable-stream": "~2.3.6",
258 | "setimmediate": "^1.0.5"
259 | }
260 | },
261 | "lie": {
262 | "version": "3.3.0",
263 | "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
264 | "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
265 | "requires": {
266 | "immediate": "~3.0.5"
267 | }
268 | },
269 | "mime-db": {
270 | "version": "1.52.0",
271 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
272 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
273 | },
274 | "mime-types": {
275 | "version": "2.1.35",
276 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
277 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
278 | "requires": {
279 | "mime-db": "1.52.0"
280 | }
281 | },
282 | "minimatch": {
283 | "version": "3.1.2",
284 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
285 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
286 | "requires": {
287 | "brace-expansion": "^1.1.7"
288 | }
289 | },
290 | "ms": {
291 | "version": "2.1.2",
292 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
293 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
294 | },
295 | "once": {
296 | "version": "1.4.0",
297 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
298 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
299 | "requires": {
300 | "wrappy": "1"
301 | }
302 | },
303 | "pako": {
304 | "version": "1.0.11",
305 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
306 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
307 | },
308 | "path-is-absolute": {
309 | "version": "1.0.1",
310 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
311 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
312 | },
313 | "pend": {
314 | "version": "1.2.0",
315 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
316 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
317 | },
318 | "process-nextick-args": {
319 | "version": "2.0.1",
320 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
321 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
322 | },
323 | "proxy-from-env": {
324 | "version": "1.1.0",
325 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
326 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
327 | },
328 | "pump": {
329 | "version": "3.0.0",
330 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
331 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
332 | "requires": {
333 | "end-of-stream": "^1.1.0",
334 | "once": "^1.3.1"
335 | }
336 | },
337 | "readable-stream": {
338 | "version": "2.3.8",
339 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
340 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
341 | "requires": {
342 | "core-util-is": "~1.0.0",
343 | "inherits": "~2.0.3",
344 | "isarray": "~1.0.0",
345 | "process-nextick-args": "~2.0.0",
346 | "safe-buffer": "~5.1.1",
347 | "string_decoder": "~1.1.1",
348 | "util-deprecate": "~1.0.1"
349 | }
350 | },
351 | "rimraf": {
352 | "version": "3.0.2",
353 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
354 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
355 | "requires": {
356 | "glob": "^7.1.3"
357 | }
358 | },
359 | "safe-buffer": {
360 | "version": "5.1.2",
361 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
362 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
363 | },
364 | "selenium-webdriver": {
365 | "version": "4.8.1",
366 | "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.8.1.tgz",
367 | "integrity": "sha512-p4MtfhCQdcV6xxkS7eI0tQN6+WNReRULLCAuT4RDGkrjfObBNXMJ3WT8XdK+aXTr5nnBKuh+PxIevM0EjJgkxA==",
368 | "requires": {
369 | "jszip": "^3.10.0",
370 | "tmp": "^0.2.1",
371 | "ws": ">=8.11.0"
372 | }
373 | },
374 | "setimmediate": {
375 | "version": "1.0.5",
376 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
377 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
378 | },
379 | "string_decoder": {
380 | "version": "1.1.1",
381 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
382 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
383 | "requires": {
384 | "safe-buffer": "~5.1.0"
385 | }
386 | },
387 | "tcp-port-used": {
388 | "version": "1.0.2",
389 | "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz",
390 | "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==",
391 | "requires": {
392 | "debug": "4.3.1",
393 | "is2": "^2.0.6"
394 | },
395 | "dependencies": {
396 | "debug": {
397 | "version": "4.3.1",
398 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
399 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
400 | "requires": {
401 | "ms": "2.1.2"
402 | }
403 | }
404 | }
405 | },
406 | "tmp": {
407 | "version": "0.2.1",
408 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
409 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
410 | "requires": {
411 | "rimraf": "^3.0.0"
412 | }
413 | },
414 | "util-deprecate": {
415 | "version": "1.0.2",
416 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
417 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
418 | },
419 | "wrappy": {
420 | "version": "1.0.2",
421 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
422 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
423 | },
424 | "ws": {
425 | "version": "8.12.1",
426 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz",
427 | "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew=="
428 | },
429 | "yauzl": {
430 | "version": "2.10.0",
431 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
432 | "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
433 | "requires": {
434 | "buffer-crc32": "~0.2.3",
435 | "fd-slicer": "~1.1.0"
436 | }
437 | }
438 | }
439 | }
440 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "linkedin-bot",
3 | "version": "1.0.0",
4 | "main": "index.js",
5 | "license": "MIT",
6 | "dependencies": {
7 | "chromedriver": "^110.0.0",
8 | "dotenv": "^16.0.3",
9 | "selenium-webdriver": "^4.8.1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@testim/chrome-version@^1.1.3":
6 | version "1.1.3"
7 | resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.1.3.tgz#fbb68696899d7b8c1b9b891eded9c04fe2cd5529"
8 | integrity sha512-g697J3WxV/Zytemz8aTuKjTGYtta9+02kva3C1xc7KXB8GdbfE1akGJIsZLyY/FSh2QrnE+fiB7vmWU3XNcb6A==
9 |
10 | "@types/node@*":
11 | version "18.14.1"
12 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f"
13 | integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ==
14 |
15 | "@types/yauzl@^2.9.1":
16 | version "2.10.0"
17 | resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599"
18 | integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==
19 | dependencies:
20 | "@types/node" "*"
21 |
22 | agent-base@6:
23 | version "6.0.2"
24 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
25 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
26 | dependencies:
27 | debug "4"
28 |
29 | asynckit@^0.4.0:
30 | version "0.4.0"
31 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
32 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
33 |
34 | axios@^1.2.1:
35 | version "1.3.4"
36 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024"
37 | integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==
38 | dependencies:
39 | follow-redirects "^1.15.0"
40 | form-data "^4.0.0"
41 | proxy-from-env "^1.1.0"
42 |
43 | balanced-match@^1.0.0:
44 | version "1.0.2"
45 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
46 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
47 |
48 | brace-expansion@^1.1.7:
49 | version "1.1.11"
50 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
51 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
52 | dependencies:
53 | balanced-match "^1.0.0"
54 | concat-map "0.0.1"
55 |
56 | buffer-crc32@~0.2.3:
57 | version "0.2.13"
58 | resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
59 | integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
60 |
61 | chromedriver@^110.0.0:
62 | version "110.0.0"
63 | resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-110.0.0.tgz#d00a1a2976592d933faa8e9839e97692922834a4"
64 | integrity sha512-Le6q8xrA/3fAt+g8qiN0YjsYxINIhQMC6wj9X3W5L77uN4NspEzklDrqYNwBcEVn7PcAEJ73nLlS7mTyZRspHA==
65 | dependencies:
66 | "@testim/chrome-version" "^1.1.3"
67 | axios "^1.2.1"
68 | compare-versions "^5.0.1"
69 | extract-zip "^2.0.1"
70 | https-proxy-agent "^5.0.1"
71 | proxy-from-env "^1.1.0"
72 | tcp-port-used "^1.0.1"
73 |
74 | combined-stream@^1.0.8:
75 | version "1.0.8"
76 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
77 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
78 | dependencies:
79 | delayed-stream "~1.0.0"
80 |
81 | compare-versions@^5.0.1:
82 | version "5.0.3"
83 | resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-5.0.3.tgz#a9b34fea217472650ef4a2651d905f42c28ebfd7"
84 | integrity sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==
85 |
86 | concat-map@0.0.1:
87 | version "0.0.1"
88 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
89 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
90 |
91 | core-util-is@~1.0.0:
92 | version "1.0.3"
93 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
94 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
95 |
96 | debug@4, debug@^4.1.1:
97 | version "4.3.4"
98 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
99 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
100 | dependencies:
101 | ms "2.1.2"
102 |
103 | debug@4.3.1:
104 | version "4.3.1"
105 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
106 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
107 | dependencies:
108 | ms "2.1.2"
109 |
110 | deep-is@^0.1.3:
111 | version "0.1.4"
112 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
113 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
114 |
115 | delayed-stream@~1.0.0:
116 | version "1.0.0"
117 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
118 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
119 |
120 | end-of-stream@^1.1.0:
121 | version "1.4.4"
122 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
123 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
124 | dependencies:
125 | once "^1.4.0"
126 |
127 | extract-zip@^2.0.1:
128 | version "2.0.1"
129 | resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
130 | integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
131 | dependencies:
132 | debug "^4.1.1"
133 | get-stream "^5.1.0"
134 | yauzl "^2.10.0"
135 | optionalDependencies:
136 | "@types/yauzl" "^2.9.1"
137 |
138 | fd-slicer@~1.1.0:
139 | version "1.1.0"
140 | resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
141 | integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==
142 | dependencies:
143 | pend "~1.2.0"
144 |
145 | follow-redirects@^1.15.0:
146 | version "1.15.2"
147 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
148 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
149 |
150 | form-data@^4.0.0:
151 | version "4.0.0"
152 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
153 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
154 | dependencies:
155 | asynckit "^0.4.0"
156 | combined-stream "^1.0.8"
157 | mime-types "^2.1.12"
158 |
159 | fs.realpath@^1.0.0:
160 | version "1.0.0"
161 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
162 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
163 |
164 | get-stream@^5.1.0:
165 | version "5.2.0"
166 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
167 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
168 | dependencies:
169 | pump "^3.0.0"
170 |
171 | glob@^7.1.3:
172 | version "7.2.3"
173 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
174 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
175 | dependencies:
176 | fs.realpath "^1.0.0"
177 | inflight "^1.0.4"
178 | inherits "2"
179 | minimatch "^3.1.1"
180 | once "^1.3.0"
181 | path-is-absolute "^1.0.0"
182 |
183 | https-proxy-agent@^5.0.1:
184 | version "5.0.1"
185 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
186 | integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
187 | dependencies:
188 | agent-base "6"
189 | debug "4"
190 |
191 | immediate@~3.0.5:
192 | version "3.0.6"
193 | resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
194 | integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
195 |
196 | inflight@^1.0.4:
197 | version "1.0.6"
198 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
199 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
200 | dependencies:
201 | once "^1.3.0"
202 | wrappy "1"
203 |
204 | inherits@2, inherits@~2.0.3:
205 | version "2.0.4"
206 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
207 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
208 |
209 | ip-regex@^4.1.0:
210 | version "4.3.0"
211 | resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5"
212 | integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==
213 |
214 | is-url@^1.2.4:
215 | version "1.2.4"
216 | resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
217 | integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==
218 |
219 | is2@^2.0.6:
220 | version "2.0.9"
221 | resolved "https://registry.yarnpkg.com/is2/-/is2-2.0.9.tgz#ff63b441f90de343fa8fac2125ee170da8e8240d"
222 | integrity sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==
223 | dependencies:
224 | deep-is "^0.1.3"
225 | ip-regex "^4.1.0"
226 | is-url "^1.2.4"
227 |
228 | isarray@~1.0.0:
229 | version "1.0.0"
230 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
231 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
232 |
233 | jszip@^3.10.0:
234 | version "3.10.1"
235 | resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2"
236 | integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==
237 | dependencies:
238 | lie "~3.3.0"
239 | pako "~1.0.2"
240 | readable-stream "~2.3.6"
241 | setimmediate "^1.0.5"
242 |
243 | lie@~3.3.0:
244 | version "3.3.0"
245 | resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
246 | integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
247 | dependencies:
248 | immediate "~3.0.5"
249 |
250 | mime-db@1.52.0:
251 | version "1.52.0"
252 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
253 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
254 |
255 | mime-types@^2.1.12:
256 | version "2.1.35"
257 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
258 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
259 | dependencies:
260 | mime-db "1.52.0"
261 |
262 | minimatch@^3.1.1:
263 | version "3.1.2"
264 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
265 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
266 | dependencies:
267 | brace-expansion "^1.1.7"
268 |
269 | ms@2.1.2:
270 | version "2.1.2"
271 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
272 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
273 |
274 | once@^1.3.0, once@^1.3.1, once@^1.4.0:
275 | version "1.4.0"
276 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
277 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
278 | dependencies:
279 | wrappy "1"
280 |
281 | pako@~1.0.2:
282 | version "1.0.11"
283 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
284 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
285 |
286 | path-is-absolute@^1.0.0:
287 | version "1.0.1"
288 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
289 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
290 |
291 | pend@~1.2.0:
292 | version "1.2.0"
293 | resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
294 | integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==
295 |
296 | process-nextick-args@~2.0.0:
297 | version "2.0.1"
298 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
299 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
300 |
301 | proxy-from-env@^1.1.0:
302 | version "1.1.0"
303 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
304 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
305 |
306 | pump@^3.0.0:
307 | version "3.0.0"
308 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
309 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
310 | dependencies:
311 | end-of-stream "^1.1.0"
312 | once "^1.3.1"
313 |
314 | readable-stream@~2.3.6:
315 | version "2.3.8"
316 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
317 | integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
318 | dependencies:
319 | core-util-is "~1.0.0"
320 | inherits "~2.0.3"
321 | isarray "~1.0.0"
322 | process-nextick-args "~2.0.0"
323 | safe-buffer "~5.1.1"
324 | string_decoder "~1.1.1"
325 | util-deprecate "~1.0.1"
326 |
327 | rimraf@^3.0.0:
328 | version "3.0.2"
329 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
330 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
331 | dependencies:
332 | glob "^7.1.3"
333 |
334 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
335 | version "5.1.2"
336 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
337 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
338 |
339 | selenium-webdriver@^4.8.1:
340 | version "4.8.1"
341 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.8.1.tgz#4b0a546c4ea747c44e9688c108f7a46b8d8244ab"
342 | integrity sha512-p4MtfhCQdcV6xxkS7eI0tQN6+WNReRULLCAuT4RDGkrjfObBNXMJ3WT8XdK+aXTr5nnBKuh+PxIevM0EjJgkxA==
343 | dependencies:
344 | jszip "^3.10.0"
345 | tmp "^0.2.1"
346 | ws ">=8.11.0"
347 |
348 | setimmediate@^1.0.5:
349 | version "1.0.5"
350 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
351 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
352 |
353 | string_decoder@~1.1.1:
354 | version "1.1.1"
355 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
356 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
357 | dependencies:
358 | safe-buffer "~5.1.0"
359 |
360 | tcp-port-used@^1.0.1:
361 | version "1.0.2"
362 | resolved "https://registry.yarnpkg.com/tcp-port-used/-/tcp-port-used-1.0.2.tgz#9652b7436eb1f4cfae111c79b558a25769f6faea"
363 | integrity sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==
364 | dependencies:
365 | debug "4.3.1"
366 | is2 "^2.0.6"
367 |
368 | tmp@^0.2.1:
369 | version "0.2.1"
370 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
371 | integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
372 | dependencies:
373 | rimraf "^3.0.0"
374 |
375 | util-deprecate@~1.0.1:
376 | version "1.0.2"
377 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
378 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
379 |
380 | wrappy@1:
381 | version "1.0.2"
382 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
383 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
384 |
385 | ws@>=8.11.0:
386 | version "8.12.1"
387 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f"
388 | integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==
389 |
390 | yauzl@^2.10.0:
391 | version "2.10.0"
392 | resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
393 | integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==
394 | dependencies:
395 | buffer-crc32 "~0.2.3"
396 | fd-slicer "~1.1.0"
397 |
--------------------------------------------------------------------------------