Константин
🙏 Спасибо )
Alhimik
И тебе советую: https://pptr.dev/.
Константин
Константин
И тебе советую: https://pptr.dev/.
Можно , с тобой посоветоваться еще мне нужно для диплома сделать . Что бы на сайте чел загрузил файл и нажал печатать и что бы на сервере отправился файл на распечатку . Что нужно изучить ?
Alhimik
Alhimik
Константин
Ну человек заходит на сайт мой , загружает word документ и оплачивает распечатку и мой принтер печатает . А сервер сделать на моем компе с подключенным принтером и все сделать на node js.
Константин
Да я видел библиотеку уже готовую. Изучу по подробней . А тут автоматизировать решил всю теорию просто выгрузить с хекслета то подписка заканчивается )
Константин
Alhimik
Константин
кого:?
Alhimik
Вынеси goBack из массива промисов.
Alhimik
Тебе нужно сделать клик и дождаться завершения навигации. Потом взять контент или что ты там хочешь сделать. И потом уже вызывать goBack.
Константин
Да понял
Константин
заработало
Константин
а pdf сохранение в промессе делать да ?
Константин
Пойду изучу что такое промис )
Константин
Почему то браузер как на мобильном хоть поставил разрешение 1920 на 1080 почему так ?
Alhimik
Константин
Константин
https://pptr.dev/#?product=Puppeteer&show=api-pagepdfoptions
Константин
тут такого вроде нет
Константин
Я высоту просто поставил 4000 но было бы кайф если бы он сам ставил автоматом какая нужна
Константин
Константин
вот так сделал
Andrey
а как он может узнать, какая высота нужна, когда есть JS и CSS, адаптирующийся под размеры
Константин
просто все файлы гигантские блин получатся
Alhimik
Alhimik
Ты же вроде печатать хотел.
Константин
Константин
что бы пустот не было таких
Alhimik
Я с этим не работал. Не знаю. Посмотри что там за пустой блок. Может его можно без последствий удалить.
Константин
не он стоит потому что я высоту pdf файла поставил высокую
Константин
т.к другие страницы с теорию большие
Константин
а какие то маленькие
Alhimik
А зачем тебе их увеличивать? Какая итоговая цель?
Константин
А если печатать ставишь у них блочится и только одна страница
Константин
Andrey
не пробовал с флагом preferCSSPageSize играться?
Andrey
не для того ли он сделан
Andrey
в функции .pdf()
Alhimik
А если печатать ставишь у них блочится и только одна страница
Понял кажется. Скорей всего у внутреннего блока стоит overflow: scroll и какой-то фиксированный размер. Поэтому получился внутренний скролл. Тебе нужно покопаться в CSS и попробовать убрать размер блока, и тогда весь контент должен все страницы занять как и должен.
Alhimik
У тебя сейчас 1 длинная страница, а когда уберёшь ограничение, он должен отображать корректное количество страниц.
Константин
Вы не поняли походу , вся проблема в высоте если ее не ставить вот что будет
Alhimik
Вы не поняли походу , вся проблема в высоте если ее не ставить вот что будет
Это понятно. Я к тому что нужно стили привести в норму, чтобы было корректное отображение контента. Если я возьму среднестатистический сайт и попробую отправить на печать, там весь контент корректно отображается на несколько страниц. Получается что на твоём сайте какие-то стили мешают корректному отображению.
Константин
а ну точно понял
Константин
а как вывести все стили ?
Константин
Константин
Вот эта тема наверное да ?
Константин
Только как их удалить
Константин
перед самой печатью
Константин
Константин
плюс он внешний
Alhimik
Вот эта тема наверное да ?
Тут с ходу не подскажу, нужно сначала разобраться что именно влияет. Обычно media print добавляют как раз для того чтобы скорректировать страницу (скрыть ненужное, отформатировать оставшееся и т.д.) для печати. Попробуй сравнить с другими сайтами, где страницы нормально отображаются на печати.
Константин
да это оно сто процентов , как это стиль деблокировать
Константин
а может после загрузки страницы заблочить все последующие стили.
Alhimik
Экспериментируй.
Константин
Ладно и с высотой норм выглядит все .
Константин
а как несколько node js включит сразу 20 потоков ?
Andrey
если парсить, то удобно https://www.npmjs.com/package/puppeteer-cluster
🦋noteee
При выпадении ошибки, функция крашнится. Но закроется ли браузер или он останется открытым и будет нагружать ресурсы?
🦋noteee
Slava
приветствую завсегдатаев. у меня проблемы и мне нужен совет. как правильно ("результативно") селектить элементы, находящиеся внутри iframe? я туповатый в программировании, и на этот раз знания английского меня не спасли. я реально не шарю в этом, но очень интересно. скажем, внутри страницы есть iframe#id, и внутри этого фрейма, допустим, div.classname. как провести выборку? мечтаю получить ответ в формате до "await page.click('selector');". заранее спасибо.
🦋noteee
const frames = await page.frames(); // Массив с фреймами
Далее перебираешь массив в поисках нужного фрейма и делаешь обращение уже к нему.
Например:
const frames = await page.frames();
const my_frame = frames.find(x => /регулярка/.test(x.url())) // Поиск нужного фрэйма по URL
if (!my_frame) {// фрейм не найден}
my_frame.click(select) // клик по селектору внутри фрейма
🦋noteee
Фремы могут подгружаться не сразу все, а постепенно или при определенных действиях.
Тебе ещё предстоит выяснить и это
Alhimik
🦋noteee
Andrey
let browser = null выше try то напиши, а ниже конст у него убери
Andrey
обьяви просто в скопе выше
Alhimik
Alhimik
🦋noteee