Как передать константы между функциями
Есть код
JavascriptВыделить код const puppeteer = require('puppeteer'); Main(); async function Main(){ const browser = await puppeteer.launch({headless: false}); const page = await browser.newPage(); Table(); } async function Table(){ await page.goto('file:///C:/Users/Daniil/Desktop/LF%20&%20CSM%20-%20TradeBack.html'); await page.waitFor(1000); } Нужно чтобы функция Table могла взаимодействовать с браузером открым в Main, но не могу понять как это сделать. Буду благодарен за подсказку! |
Может так?
async function Main() { const browser = await puppeteer.launch({headless: false}); Table(browser); } async function Table(browser) { const page = await browser.newPage(); await page.goto('file:///C:/Users/Daniil/Desktop/LF%20&%20CSM%20-%20TradeBack.html'); await page.waitFor(1000); } |
Да, сработало! Спасибо большое!
|
А если мне нужно подключить несколько функций, то вот так?
Main(); async function Main() { const browser = await puppeteer.launch({headless: false}); Autorizacia(browser); Filtr(browser); } async function Autorizacia(browser) { const page = await browser.newPage(); await page.goto('https://'); await page.waitFor(15000); div.auth_button_h3'); } async function Filtr(browser){ await page.waitFor(5000); await page.waitFor('#user-nickname'); console.log('Авторизация прошла успешно, устанавливаем фильтры') } Я все верно понял? Почему-то код не хочет запускать 2 функцию.. Извините, если задаю глупые вопросы.. |
Цитата:
|
Кажется понял, моя ошибка заключается в том, что нужно вызывать следующую функцию в конце первой, спасибо)
|
Но теперь проблема заключается в том, что "browser" передается только на первую функцию, а на вторую нет..
|
ну передаешь ты browser, а используешь page, не? )
|
Для каждого метода нужно открывать свою вкладку, или открывать одну вкладку в функции Main и передавать её экземпляр в аргументах другим функциям.
Первый вариант с последовательным вызовом функций в примере ниже: Main(); async function Main() { const browser = await puppeteer.launch({headless: false}); await Autorizacia(browser); await Filtr(browser); } async function Autorizacia(browser) { const page = await browser.newPage(); await page.goto('https://'); await page.waitFor(15000); // div.auth_button_h3'); - syntax error } async function Filtr(browser){ const page = await browser.newPage(); await page.waitFor(5000); await page.waitFor('#user-nickname'); console.log('Авторизация прошла успешно, устанавливаем фильтры') } |
Часовой пояс GMT +3, время: 11:32. |