mirror of
https://github.com/opelly27/streetmerchant.git
synced 2026-05-20 01:47:39 +00:00
feat: page timeout (#22)
Co-authored-by: Jef LeCompte <jeffreylec@gmail.com>
This commit is contained in:
@@ -3,3 +3,4 @@ build/
|
||||
node_modules/
|
||||
|
||||
.env
|
||||
success-*.png
|
||||
|
||||
@@ -67,6 +67,7 @@ First, you're going to need to copy the `.env.example` to `.env`. The current op
|
||||
| `EMAIL_USERNAME` | Gmail address; e.g. `jensen.robbed.us@gmail.com` |
|
||||
| `EMAIL_PASSWORD` | Gmail password; see below if you have MFA |
|
||||
| `STORES` | List of [stores](#Supported-stores) you want to be scraped; optional, default: `nvidia` |
|
||||
| `PAGE_TIMEOUT` | Navigation Timeout in milliseconds (0 for infinite, 60000 for 1 minute); optional, default: `0` |
|
||||
|
||||
> :point_right: If you have multi-factor authentication (MFA), you will need to create an [app password](https://myaccount.google.com/apppasswords) and use this instead of your Gmail password.
|
||||
|
||||
|
||||
+2
-1
@@ -16,7 +16,8 @@ const notifications = {
|
||||
const page = {
|
||||
height: 1920,
|
||||
userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
|
||||
width: 1080
|
||||
width: 1080,
|
||||
navigationTimeout: Number(process.env.PAGE_TIMEOUT) ?? 30000
|
||||
};
|
||||
|
||||
const stores = process.env.STORES ?? 'nvidia';
|
||||
|
||||
@@ -40,6 +40,7 @@ async function lookup(store: Store) {
|
||||
for (const link of store.links) {
|
||||
const browser = await puppeteer.launch();
|
||||
const page = await browser.newPage();
|
||||
page.setDefaultNavigationTimeout(Config.page.navigationTimeout);
|
||||
await page.setUserAgent(Config.page.userAgent);
|
||||
await page.setViewport({
|
||||
height: Config.page.height,
|
||||
|
||||
Reference in New Issue
Block a user