Назар 
    
    
        
        
        
        Ребят, есть на странице блок с кнопкой, типа принять куки. И в принципе я не знаю когда он вылезет. Как правильней детектить его появления и останавливать на время скрипт, пока я нажимаю на кнопку в блоке?
    
 
    
    Unknown 
    
    
        
        
        
        кек, как это так, не знаете когда вылезет?
    
 
    
    Unknown 
    
    
        
        
        
        так же можно посмотреть, что изменяется когда вы его применяете (мб там в session storage сетается, или у cookies) и делать это при старте вашего браузера/тесты.
        Тем самым избавитесь от лишнего клика.
    
 
    
    Vlad Vaviloff 
    
    
        
        
        
        Или просто убирать его после открытия страницы.
    
 
    
    Suicide Liza 
    
    
        
        
        
        может ктото знает как можно получить parent element ? с page.$$ ?
    
 
    
    Suicide Liza 
    
    
        
        
        
        const child = page.$(select)
        cont parent = child.$(?)
    
 
    
    Eugene 
    
    
        
        
        
        Ребят, привет. Кто-то в курсе можно ли в headless режиме работать с webrtc?
    
 
    
    Назар 
    
    
        
        
                    
                
        
        вот есть такой код. Через evaluate работает, а тот что комментом нет. Они идентичны или нет?
    
 
 
    
    isa 
    
    
        
        
        
        Hi can i ask question about puppeteer  with latin character cuz i cant write ur alphabet :/
    
 
    
    John 
    
    
        
        
        
        кто то с таким сталкивался? 
        https://qna.habr.com/q/884139
    
 
    
    John 
    
    
        
        
        
        хотелось бы запустить браузер и через апи создавать странички и обрабатывать их, а не запускать браузер вновь и вновь
    
 
    
    Egor 
    
    
 
    
    John 
    
    
        
        
                    
                
        
        наверное не верно объяснил
        
        хочется чтобы при обращении через express не открывался новый экземпляр браузера, а оставался тот же, сейчас вот так работает
    
 
 
    
    John 
    
    
 
    
    John 
    
    
        
        
        
        единожды запустил и открывай закрывай себе странички
    
 
    
    John 
    
    
        
        
                    
                
        
        решил таким путём
        
        единожды запускается экземпляр хромиума с флагом  --remote-debugging-port=порт
        
        далее подключаемся к браузеру и делаем нужное
        
        надо будет затестить как поведет себя когда много параллельных запросов будет, хотя наверное забью и так оставлю :) 
        
        зато не будет больше постоянно перезаходить на сайт, скорее всего пропишу обновление странички, чтобы поддерживало соединение и не выкидывал с сайта по таймауту
    
 
 
    
    Sasha 
    
    
        
        
        
        Иногда все же придется рестартить) сожрет всю память
    
 
    
    Unknown 
    
    
 
    
    John 
    
    
        
        
        
        когда не дают апи, а данные нужно получать или вносить, приходится пользоваться тем что есть.. а еще там гост браузеры и сертификаты, поэтому иначе никак,  ну или я не придумал 
        
        потом экспрессом уже пишешь своё апи и загоняешь или получаешь данные с сайта
    
 
    
    1 
    
    
        
        
        
        Подскажите, как сделать скриншот элемента, чтобы осталась открытая страница. При выполнении:
        
        const el = await page.$('#Image');
        el.screenshot({ path: 'img.png'});
        
        в браузере открывается данный элемент, а нужно оставаться на странице, где этот элемент находится.
    
 
    
    Vlad Vaviloff 
    
    
 
    
    1 
    
    
        
        
        
        Подскажите, после нажатия кнопки всплывает dialog после чего скрипт замирает и не получается нажать кнопку "ОК" вот так:
        
        await page.on('dialog', async dialog => {
          await dialog.accept();
        });
        
        Пока вручную не нажмёшь "ОК" скрипт не проходит дальше, т.е. ожидает нажатия кнопки и только после этого выполняется код нажатия кнопки.
    
 
    
    Andrey 
    
    
        
        
        
        await перед page.on убери для начала
    
 
    
    Andrey 
    
    
        
        
        
        больше кода, не понятно как и что ты делаешь кроме этого
    
 
    
    Andrey 
    
    
        
        
        
        тут ты просто Event назначаем
    
 
    
    Andrey 
    
    
        
        
        
        dialog вообще браузерный всплывает?
    
 
    
    1 
    
    
        
                    
                        
                            
                            больше кода, не понятно как и что ты делаешь кроме этого
                        
                    
                
        
        
        Код следующий:
        
        console.log('Press Submit');
        await page.click('#submitbuttonId'); 
        
        // Тут замираем, дальше не идём
        
        console.log('Press Ok dialog');
        page.on('dialog', async dialog => {
           console.log('Dialog inside');
           await dialog.accept();
        });
        
        dialog браузерный
    
 
 
    
    Andrey 
    
    
        
        
        
        перенеси вверх page.on
    
 
    
    Andrey 
    
    
        
        
        
        это ты назначаешь обработчик Event'а
    
 
    
    Andrey 
    
    
        
        
        
        а не код последовательный выполняешь
    
 
    
    Sasha 
    
    
        
        
        
        Видимо последовательно.  Раз сообщение об успехе
    
 
    
    Andrey 
    
    
        
        
        
        т.е. у тебя выполняется так:
        1. кликаешь кнопку
        2. Появляется диалог
        3. Выставляешь для диалога обработчик
    
 
    
    Andrey 
    
    
        
        
        
        да, в самое начало
    
 
    
    Andrey 
    
    
        
        
        
        можешь прям после создания page
    
 
    
    Andrey 
    
    
        
        
        
        👍
    
 
    
    isa 
    
    
        
                    
                        
                            
                            sure man, go ahead 😄
                        
                    
                
        
        
        Haha thnx can i prevent json stringify when im sending object to exposefunction. But its getting args as serialized.
    
 
 
    
    Sasha 
    
    
        
        
        
        Доброго дня. В headless режиме не создается localstate это норма?
    
 
    
    Victor 
    
    
        
        
        
        Hi everyone
    
 
    
    Victor 
    
    
        
        
        
        Need a little help here
    
 
    
    Victor 
    
    
 
    
    Victor 
    
    
        
        
        
        been trying to get the message of the alert pop up
    
 
    
    Victor 
    
    
        
        
        
        but the return always objec
    
 
    
    Victor 
    
    
 
    
    isa 
    
    
        
        
        
        U can log only message object without any string then check which key is important  for you...
    
 
    
    isa 
    
    
        
        
        
        Console.lot("diyalog message"+ message[key])
    
 
    
    Victor 
    
    
 
    
    isa 
    
    
        
        
        
        Console.log(message)
    
 
    
    isa 
    
    
        
        
        
        Can u try it?
    
 
    
    isa 
    
    
        
        
        
        Send ss
    
 
    
    Victor 
    
    
 
    
    Victor 
    
    
        
        
        
        yeah, i get this
    
 
    
    isa 
    
    
        
        
        
        No dont use string. Js is joining string + object... İts wrong. U should join same type in console.log
    
 
    
    isa 
    
    
        
        
        
        Or console.log("diyalog message", message)
    
 
    
    Victor 
    
    
 
    
    Victor 
    
    
        
        
        
        i get this response
    
 
    
    Victor 
    
    
 
    
    isa 
    
    
        
        
        
        i didnt read puppeteer documantion about dialog.  U can read documantion which props or func is useful for you.  i think u wanna get text message of dialog. Am o right?
    
 
    
    isa 
    
    
        
        
        
        am i right?
    
 
    
    Victor 
    
    
 
    
    Victor 
    
    
        
        
        
        I have tried it before here
    
 
    
    Victor 
    
    
 
    
    Victor 
    
    
        
        
        
        And it work perfectly fine
    
 
    
    Victor 
    
    
        
                    
                        
                    
                
        
        
        But when i changed it to this, it returns object
    
 
 
    
    isa 
    
    
        
        
        
        Because await convert to async func dialog.message
    
 
    
    isa 
    
    
        
        
        
        U can read message with  await keyword or then ().catch block
    
 
    
    Victor 
    
    
        
        
        
        checkLoginProblem: async () => {
                try {
                    let message = await page.on('dialog', async dialog => {
                        let dialogMessage = await dialog.message();
                        await dialog.dismiss();
                        return dialogMessage
                    })
                    // message = JSON.stringify(message)
                    console.log(message);
                    if (message == null) {
                        return false
                    } return message
        
                } catch (e) {
                    console.log(e.message)
                }
            },
    
 
    
    Victor 
    
    
        
        
        
        a little bit help maybe? 🙏
    
 
    
    isa 
    
    
        
        
        
        Can u remove await keyword from ley dialogmessage =await dialog.message()
    
 
    
    Victor 
    
    
 
    
    isa 
    
    
        
        
        
        Await is converting to promise ur value
    
 
    
    Victor 
    
    
 
    
    isa 
    
    
        
        
        
        No u can read data with using again await message or message.then()
    
 
    
    isa 
    
    
        
        
        
        Ur returned value is promise
    
 
    
    isa 
    
    
        
        
        
        Not string
    
 
    
    Victor 
    
    
        
        
        
        okay, im super confused 😂
    
 
    
    isa 
    
    
        
        
        
        Haha maybe i can not explain with my bad language haha