Исмаил
очень странно, проблема была в конфиге передаваемом в pupputeer.launch, а конкретно если в args: ['--start-fullscreen'] все аргументы отдельно протестировал, если убираю этот то все нормально, но если оставляю его то крашится при разворачивании
Исмаил
давайте мой попробуете запустить, там стоит задержка перед запуском, потому что по дефолту он сразу развернет браузер, поэтому во время задержки нужно клацнуть по какому нибудь окошку чтобы сохранить фокус и тогда браузер запустится свернуто, и нужно будет просто развернуть
Исмаил
const puppeteer = require('puppeteer');
const chromeOptions = {
headless: false,
defaultViewport: null,
args: ['--start-fullscreen']
};
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const test = async () => {
const browser = await puppeteer.launch(chromeOptions);
const [page] = await browser.pages();
await page.goto("https://example.com");
await sleep(3000)
await page.goto('http://google.com')
};
function run() {
setTimeout(() => {
test()
}, 1500)
}
run()
Исмаил
Если вы запустите скрипт, и сразу же щёлкните мышью на код эдитор к примеру, тем самым передадите фокус на него, то браузер запустится свернуто
Исмаил
У меня вот только с этим аргументом он крашится, в остальных случаях все нормально, сейчас версии дам
Исмаил
node v13.10.1
puppeteer 1.20.0
Исмаил
Виндоус 10
Исмаил
Хорошо)
Исмаил
Да мне впринципе норм уже, убрал тот аргумент он и так не был особо нужен, все работает)
John
John
запустил на винде
John
никаких ошибок
John
на весь экран
John
не запустился он свернуто.. там же четко прописан аргумент args: ['--start-fullscreen'], аргумент на свернутость не вижу
Исмаил
Нет, если вы до запуска тоесть там таймер 1.5 секунды, наведете фокус на код, просто нажмёте мышью на код, до запуска браузера, то браузер поднимется свернуто, тк вы работаете уже в другом окне
Исмаил
Для этого там и таймер
Исмаил
Можете удлинить таймер на 5-10 сек и просто поработать это время
Исмаил
Ну я чисто на код эдитор нажимаю, он у меня на весь экран
Исмаил
Просто у меня в проде, другой бот запускает эти браузеры, поэтому там они все в свёрнутом и мне нужно было тоже самое повторить
Исмаил
Там некоторые селекторы пропадали, ну потом я другие методы использовал, а аргумент остался
Исмаил
Да, сейчас так, просто аргумент показался без обиидным, и остался
Gambit501
Капец, как подключаю http дебагер к браузеру(любому) так загруженный сайт сразу исчезает...
ran
Hi. I need some help with puppeteer
ran
I create a pdf in the server side
ran
I don't know how to pass him back to client
ran
ran
server side pic
ran
thanks, do u have an example for the client side ?
i want to be able to use the method window.open
ran
I have a form in client side ( I'm using vue js) when I click on the print button. I send a fetch to /pdf route in my server side
ran
I want that the print button will triger the pdf to open a new tab with the pdf that was generate in server ( exprees)
ran
The pdf was generate in server. But the data is send from client
ran
ran
this is my client side
ran
ran
this is the server
ran
Everything works well except I can't make the pdf come back to client
ran
Hope it's was clear
ran
ran
I was trying a lot of ways
ran
None of them works
ran
Yes
ran
Yes I read about it
ran
In the client I don't have to use blob?
ran
Or array buffer?
ran
ran
Base64encodedPdf it's a function? And I have never used btoa
ran
I'll try to do it
ran
I tried it. But it doesn't work
ran
ran
goes to the catch...
ran
im trying it at least 3 days 😞
ran
but thanks to you anyway !!!
ran
it works for u ?
ran
i use only .then in client side
ran
ran
ran
ran
ran
What do I miss? It's look like yours
ran
The same error
ran
If u have time I can screen share with u in zoom
ran
Don't understand
ran
ran
I see. It's a global func that get use all over the app
ran
Its work!!! Thank you
ran
❤️❤️
ran
Right now I do it hard coded to check if the url is from pdf
ran
I need to find a better way
ran
ran
How can I determine if the response it's from my pdf route
ran
I work in a startup it's a big app and it's not something I wrote
ran
Maybe I can do the blob in the server side
ran
ok, so ill have to think about another solution
ran
but thank you fir your help
ran
you found out the problem was in my fetch
Alexander 🇺🇦
Ребят, как заставить паптир перейти по каждой ссылке, дождаться полной загрузки страницы на каждой ссылке и еще чтото сделать? Вроде бы долно быть так, но не работает…
Alexander 🇺🇦
Alexander 🇺🇦
в промисе?
Alexander 🇺🇦
так только на первую ссылку переходит
Alexander 🇺🇦
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless: false,
});
const page = await browser.newPage();
await page.goto('https://habr.com/ru/');
await page.waitForSelector('#navbar-links');
const elements = await page.$$('#navbar-links li a');
for (let el of elements) {
await el.click()
await page.waitForNavigation()
}
// await browser.close();
})()