 Pavel
    Pavel 
    
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Он не скачивает его.
        Ну в докер точно не скачивает.
        Ща попробую на локалке провернуть, но шансов нету
    
 
     Nikita
    Nikita 
    
    
        
        
        
        на локалке не работает. Просто ничего не происходит. 
        ни в докере, ни на локалке. Просто ничего. ни скачивания, ни ошибки, ничего вообще. 
        
        в хэдлесс режиме, ессесна
    
 
     Nikita
    Nikita 
    
        
             
        
             
     
    
        
        
        
        //Начинаем скачивание
                await page.waitForSelector('#btnPrintId_OsagoDesktop > span').then(el => el.click());
                await spa.waitForClosePreloader('ждем всплывашку для выбора типа полиса');
                await page.waitForSelector('#tblResult_SelectItemForm > div.v-scrollable.v-table-body-wrapper.v-table-body');
                await page.focus('#tblResult_SelectItemForm > div.v-scrollable.v-table-body-wrapper.v-table-body');
        
                await page.keyboard.press('ArrowDown');
                await page.keyboard.press('ArrowDown');
                await page.keyboard.press('ArrowDown');
                await page.keyboard.press('ArrowDown');
        
                const client = await page.target().createCDPSession();
        
                await client.send("Page.setDownloadBehavior", {
                    behavior: "allow",
                    downloadPath: "downloads/pdf.pdf",
                });
        
                // const cookie = await page.cookies();
                //
                // browser.on('targetcreated', async target => {
                //     let url = target.url();
                //     if (url.endsWith('.pdf')) {
                //         console.log('type', target.type());
                //         console.log('type', await target.page().then(page=>page.cookies()));
                //         await page._client.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: './pdf.pdf'});
                //         console.info('targetcreated', url);
                //
                //         const help = await page.goto(url).then();
                //             const buffer = help.buffer();
                //             fs.writeFileSync('./pdf.pdf', buffer);
                //
                //     }});
        
        
        
                await page.keyboard.press('Enter');
        
        
                await page.waitFor(5000);
    
 
     Nikita
    Nikita 
    
    
        
        
        
        щас попробую твой, ток выйду перекурю
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Да, я сначала без /pdf пробовал
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Потом добавил
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Там где нажатие кнопок, там выбор пункта "получить копию"
        Клики там не работают.
        Эт какая то залоченая кривая фреймуха
    
 
     Pavel
    Pavel 
    
    
        
        
        
        @ejnshtein нужны твои скилы по отфутболиванию этого школьника)
    
 
     Pavel
    Pavel 
    
    
        
        
        
        У него ничего не работает и давай готовый ответ, быстра.
    
 
     倫太郎
    倫太郎 
    
    
        
        
        
        
    
 
     倫太郎
    倫太郎 
    
    
        
        
        
        Шо
    
 
     Pavel
    Pavel 
    
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Мне не просто для себя, мне для работы надо.
        Я бота пишу, и он должен эту штуку в конце скачать и отдать бэку.
        Поэтому тестить в тепличных условиях не вариант.
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Окей, учту, простите
    
 
     Nikita
    Nikita 
    
    
        
        
        
        targetcreated не работает без головы. 
        Поэтому полтора дня работы и эксперементов можно выкинуть.
    
 
     Nikita
    Nikita 
    
    
        
        
        
        :С
    
 
     Nikita
    Nikita 
    
    
        
        
        
        эх, ладно. Попробую теперь без головы поиграть с запросами, подменить пост запрос на свой и ждать в ответ пдф. Если не прокатит, проплачу ночь и потом сделаю скачивание через почту :(
        
        В любом случае за помощь спасибо)
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Проблема в конкретном случае. Это скорее исключение. 
        как такового пдф не существует на момент отправки запроса. 
        Улетает запрос с телом json 
        формируется пдф
        и возвращается ответом не ссылка, а конструктор для ссылки. 
        я могу выдернуть содержимое ответа и собрать через регулярки ссылку и по ней пройти. Тогда попаду на pdf файл
    
 
     Nikita
    Nikita 
    
    
        
        
        
        да. этот запрос я вижу. Это пост запрос
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Проблемы нету. Но мне вернется в ответе не файл, а конструктор
    
 
     Nikita
    Nikita 
    
    
        
        
        
        если я правильно во всем разробрался
    
 
     Nikita
    Nikita 
    
    
        
        
        
        for(;;);[{"syncId": 306, "changes" : [["change",{"pid":"0"},["0",{"id":"0","location":"https:\/\/ooopf.ru\/AlfaPolicy\/#!"},["open",{"src":"app:\/\/APP\/global\/0\/legacy\/0\/Понкратов Александр Николаевич- копия.pdf","name":"_blank","popup":false}]]]], "state":{}, "types":{"0":"0"}, "hierarchy":{"0":["1"]}, "rpc" : [], "meta" : {}, "resources" : {}, "timings":[1471, 1]}]
        
        Вот такое возвращается
        После этого открывается pdf в новой вкладке
    
 
     Nikita
    Nikita 
    
    
        
        
        
        никаких промежутков. Сразу. Такой ответ и сразу же открывается вкладка
    
 
     Nikita
    Nikita 
    
    
        
        
        
        я оттуда только что ответ и скопировал) 
        больше ничего. Это крайний запрос-ответ
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Этот запрос может не отображаться в  DevTools?
        такое возможно?
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Видимо возможно. Поставил отловщик запросов на url.pdf 
        ничего. ничего не этот урл не улетает вообще.
    
 
     Nikita
    Nikita 
    
    
        
        
        
        ладно, хер с ним. 
        спасибо большое) 
        Помечу этот случай себе в красный блокнотик, вернусь к нему может быть когда-нибудь.
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Прости за совсем ламерский вопрос, но я такую фукнцию ни разу не видел. 
        И не очень понимаю как ее запустить.
    
 
     Nikita
    Nikita 
    
    
        
        
        
        вот такая штука вылезла
        урл сократил, что бы не бесить никого :)
        
        {"method":"Page.windowOpen","params":{"url":"https://alf.pdf","windowName":"_blank","windowFeatures":["menubar","toolbar","status","scrollbars","resizable"],"userGesture":true},"sessionId":"3432FDA2B5977DAB45B082BCCBDB1192"}'
    
 
     Nikita
    Nikita 
    
    
        
        
        
        мне чуть-чуть объясни пожалуйста, что он мне показал вообще? 
        Я не очень понимаю. Это похоже на ответ типа "открыть новую вкладку и перейти по ссылке" и параметры перехода
    
 
     Nikita
    Nikita 
    
    
        
        
        
        ну, должен но не обязан, судя по всему :D 
        окэй, щас покапаемся
    
 
     Pavel
    Pavel 
    
    
        
        
        
        можете сностить эту сагу том что подключается 1 cdp сессия на 1 страницу)
    
 
     Pavel
    Pavel 
    
    
        
        
        
        хмм, ну ок.
    
 
     Pavel
    Pavel 
    
    
        
        
        
        имхо просто евенты были в новой странице, а не старой, вот и не ловились.
    
 
     Pavel
    Pavel 
    
    
 
     Pavel
    Pavel 
    
    
        
        
        
        в скачивании файлов не может быть баги, ты просто делаешь не то.
    
 
     Nikita
    Nikita 
    
    
        
        
        
        Я рабочий ноутбук взял на выходные домой, попробую сам покапаться, может рожу чего интересного.
        Однако огромное спасибо за проявленный интерес к моей проблеме)
    
 
     Андрей
    Андрей 
    
    
        
        
        
        Привет, ребят
        https://qna.habr.com/q/728083
        Почему в цикле не отрабатывает блок после sleep?
    
 
     Mika
    Mika 
    
    
        
        
        
        Господа, добрый день! Кто нибудь сталкивался с задачей отправки скриншотов в тегерамм?
    
 
     1
    1 
    
    
 
     Mika
    Mika 
    
    
        
        
        
        Спасибо!
    
 
     Alex*
    Alex* 
    
    
        
        
        
        Пожалуйста. )
        Я стараюсь разделять такие процессы. Вроде сейчас микросервисы в тренде. )
        Сделайте отдельно сервис забирающий скриншоты и складывающий в папку и другой сервис сканирующий папку и оправляющий в телеграм .
        Как-то так.
    
 
     Mika
    Mika 
    
    
        
        
        
        В целом задача стоит такая: нужно заходить на сайт, делать скриншот области, отправить в телеграмм. Человек будет "отвечать" на сообщение и требуется вводить все это в инпут. Справится ли puppeteer с этой задачей? раньше использовал phantonjs, dalekjs
    
 
     John
    John 
    
    
        
        
        
        аналог капчи чтоли?
    
 
     Alex*
    Alex* 
    
    
 
     1
    1 
    
    
 
     Mika
    Mika 
    
    
 
     Mika
    Mika 
    
    
        
        
        
        Распознаватель то не нужен, нужно именно отправлять капчу в телеграмм и принимать ответное сообщение
    
 
     Mika
    Mika 
    
    
 
     Андрей
    Андрей 
    
    
        
        
        
        Привет, ребят, подскажите пож:
        Как сделать вывод на консоль в правильной кодировке для кириллицы у puppeteer для кириллицы?
        https://qna.habr.com/q/729815
    
 
     Андрей
    Андрей 
    
    
        
        
        
        Спасибо. Как корректней будет это сделать?
        
        1)
         page.setExtraHTTPHeaders({
           'Accept-Charset': 'utf-8',
           'Content-Type': 'text/html; charset=utf-8',
        })
        
        Или 
        
        2)
        
        const response = await page.goto('https://hk.appledaily.com/realtime/realtimenews/20180228/local');
        await page.setContent((await response.buffer()).toString('utf8'));
    
 
     Андрей
    Андрей 
    
    
        
        
        
        А кодировку так получить, правильно понимаю?
        document.querySelectorAll("head > meta[name='charset']")[0] ... ;
    
 
     Андрей
    Андрей 
    
    
        
        
        
        Спасибо!
    
 
     Андрей
    Андрей 
    
    
        
        
        
        Привет, ребят, не подскажете - куда копать. Хочу выявлять расширение скачанных puppeteer-ом файлов с именем download.
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        Всем привет, кому не сложно проверить вот этот сайт https://tv.yandex.ru/ корректность загрузки его в режиме headless: false
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        просто у меня при первой загрузке сайт выглядит вот так
    
 
     Gambit501
    Gambit501 
    
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        Но! стоит либо вручную нажать (обновить) либо через page reload обновить то страница загружается нормально
    
 
     Gambit501
    Gambit501 
    
    
 
     Gambit501
    Gambit501 
    
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        аргументы запуска, юзерагенты менял, толку 0
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        и StealthPlugin тоже убирал, запускал обычный кукловод тоже самое
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        нет
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        щас попробую неск способов
    
 
     Андрей
    Андрей 
    
    
        
        
        
        Потому что он так по умолчанию называется почемуто.
        Пробовал разные фишки, типа linkNode.setAttribute('download', 'TrueName')
        Имя все тоже. Проблема в том, что у ссылки на  скачиваемый файл href=#.
        
        НЕмного повеловипедил и уперся в вотчер:
        
        Как в node Js или chokidar сделать слежение за созданием файла и продолжить скрипт только после его создания?
        https://qna.habr.com/q/731375
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        Привет всем
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        подскажите, как обработать Null? уже и с проверкой пробовал, все равно останавливает выполнение кода на ошибке этой
    
 
     Gambit501
    Gambit501 
    
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        ну Нулл так Нулл пофиг, как продолжить выполнение скрипта?
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        просто иногда на страницах сайта(который паршу) бывает нет нужного атрибута* ну и фиг с ним
    
 
     Gambit501
    Gambit501 
    
    
        
        
        
        как мне просто возвращать другое значение?