Pavel 
    
    
        
        
        
        Да, ты прав.
    
 
    
    Pavel 
    
    
        
        
        
        waitUntil:networkilde0 решает ее
    
 
    
    Pavel 
    
    
        
        
        
        он остался от старого кода, да.
    
 
    
    Pavel 
    
    
        
        
                    
                
        
        забавно, но с таймаутом быстрее ходит по страницам :D
    
 
 
    
    Pavel 
    
    
        
        
        
        Спасиб, я вдруг понял что он на ноде. И что я могу использовать экспериментальноe апи https://chromedevtools.github.io/devtools-protocol/tot/HeadlessExperimental
    
 
    
    1 
    
    
        
        
                    
                
        
        Картинки и CSS отсекаю так, см. картинку, а как отсекать, например, счётчики посещений или статистику Яндекс? Они реально тормозят загрузку страницы.
    
 
 
    
    Pavel 
    
    
        
        
        
        Вам не кажется что эту группу нужно добавить playwright или вообще QA браузерное? Лушников перешел в playwright, например.
    
 
    
    Pavel 
    
    
        
        
        
        можно отключить скролы
    
 
    
    1 
    
    
        
        
                    
                
        
        Пример перебора прокси из файла. Вверху закреплено сообщение, там можно найти много примеров.
    
 
 
    
    Gambit501 
    
    
        
        
        
        Это юзал? https://www.npmjs.com/package/puppeteer-extra-plugin-stealth
    
 
    
    1 
    
    
        
        
                    
                
        
        Подскажите, необходимо отправить снимок экрана в Телеграм через POST запрос с заголовком Content-Type: multipart/form-data, если подставлять url на файл, то отправляется, а как локальный файл не пойму. Пробовал подставлять в photo: file:// тоже не работает.
        
        Текст отлично отправляется используя заголовок Content-Type: application/json
    
 
 
    
    Alex 
    
    
        
        
        
        Dmitri нода?
    
 
    
    1 
    
    
 
    
    Alex 
    
    
        
        
        
        Dmitri советую не париться, а взять уже готовую обертку https://github.com/yagop/node-telegram-bot-api
    
 
    
    1 
    
    
 
    
    Alex 
    
    
        
        
        
        Кто-то кинопоиск парсил?
    
 
    
    1 
    
    
        
        
        
        В какую сторону смотреть? Задача, при запуске несколько одинаковых скриптов, чтобы они считывали параметры из файла:
        param1
        param2
        . . . . .
        param N
        
        Чтобы каждый скрипт не считывал тот параметр, который уже другой использует или использовал. Проблема при одновременном доступе.
        
        Скажем при обращении к param1 ставится "*", что этот параметр сейчас используется или использовался и другой скрипт его не может использовать, но возникает проблема при одновременном обращение. Всё равно при чтении и записи есть временной интервал. Может не в файле реализовывать, а в какой-нибудь базе данных или скажем в Google Таблице?
    
 
    
    Gambit501 
    
    
 
    
    Alex 
    
    
        
        
        
        Как в page.evaluate передать переменную?
    
 
    
    Alex 
    
    
 
    
    Pavel 
    
    
        
                    
                        
                    
                
        
        
        Пробрось ее в конце еще, как в setTimeout
    
 
 
    
    Alex 
    
    
 
    
    Pavel 
    
    
        
        
        
        В body лежит наверно
    
 
    
    Pavel 
    
    
 
    
    1 
    
    
        
        
                    
                
        
        @munrocket. Вроде, придумал алгоритм решения задачи. При запуске любого количества экземпляров одного скрипта, они по очереди берут параметры из файла. При считывании параметра помечают его "*", тем самым другой скрипт уже игнорирует этот параметр и считывает другой. Для проверки сделал паузу в случайном порядке до 3 сек.
    
 
 
    
    Андрей 
    
    
        
        
        
        Привет, ребят, можно ли в jquery или cheery сделать выборку по нескольким вариантам аттрибута?
        
        Что-то типа  $('a[title="Волки"][title="Овцы"]') ?
    
 
    
    Андрей 
    
    
        
        
        
        Спасибо!
    
 
    
    Андрей 
    
    
        
        
        
        Привет, ребят.
        Что не так с транслированием портов и нэймингов в docker-compose сборке (в частности проблема с tor-proxy соединением)?
        https://qna.habr.com/q/714443
    
 
    
    Nikita 
    
    
        
        
        
        Господа, подскажите пожалуйста. 
        Запускаю в докере puppeteer. И почему-то в докере он не прогружает html страницы. т.е. не видит какие-то селекторы. 
        А на локалке все работает без проблем вообще
    
 
    
    Pavel 
    
    
 
    
    Nikita 
    
    
 
    
    Pavel 
    
    
        
                    
                        
                            
                            Я
                        
                    
                
        
        
        Попробовал puppeteer-core, вообщем не нужно. Не универсально для всех, лишних 150 мегов не помешает в devDependency.
    
 
 
    
    Roman 
    
    
 
    
    Roman 
    
    
        
        
        
        не хромиум
    
 
    
    Pavel 
    
    
        
        
        
        У меня под линухом не завелось, не стал заморачиваться. Так как другим тоже будут траблы потом.
    
 
    
    Roman 
    
    
        
        
        
        я думаю многие не знают (но многие и знают), что хромиум сбилженный роботом, который тянет пптр не имеет кодеков
    
 
    
    Roman 
    
    
        
        
        
        и 80% видео не будет грузится даже в нем
    
 
    
    Pavel 
    
    
        
        
        
        Хмм, забавно, не в курсе был.
    
 
    
    Pavel 
    
    
        
        
        
        Не было таких задач.
    
 
    
    Roman 
    
    
        
        
        
        ну если шо меня тыркайте, я его весь выдрочил и я контрибьютор пупитра
    
 
    
    Roman 
    
    
        
        
        
        могу че нить подсказать
    
 
    
    Roman 
    
    
        
        
        
        для прикола можете сами скомипилить даже себе хромиум
    
 
    
    Roman 
    
    
        
        
        
        если есть машина
    
 
    
    Roman 
    
    
        
        
        
        компляция на мощном серваке около 4 часов
    
 
    
    Roman 
    
    
        
        
        
        плюс 20 гигов исходников
    
 
    
    Roman 
    
    
        
        
        
        единственное что я не трогал это файрфокс пддержку
    
 
    
    Roman 
    
    
        
        
        
        + сразу отказывайтесь от использования pipe режима, это смех
    
 
    
    Roman 
    
    
        
        
        
        IPC через аутпут терминала и инпут
    
 
    
    Pavel 
    
    
        
        
        
        У меня только была трабла с тэгом video, и детерминированностью скриншотов между сессиями, но удалось захукать потом. Кодеки работали.
    
 
    
    Pavel 
    
    
        
        
        
        /* Semi-determitistic video */
        
          let play = HTMLVideoElement.prototype.play;
          HTMLVideoElement.prototype.play = async function() {
        
            play.call( this );
            this.addEventListener( 'timeupdate', () => this.pause() );
        
            function renew() {
              this.load();
              play.call( this );
              RAF( renew );
            }
            RAF( renew );
        
          }
    
 
    
    Roman 
    
    
 
    
    Roman 
    
    
        
        
        
        все равно впалят
    
 
    
    Roman 
    
    
        
        
        
        не занимайтесь вообще таким лучше
    
 
    
    Roman 
    
    
        
        
        
        пакостями
    
 
    
    Roman 
    
    
        
        
        
        сек
    
 
    
    Roman 
    
    
        
        
        
        https://browserleaks.com/canvas
    
 
    
    Roman 
    
    
        
        
        
        а ты мне скажешь на это "хаха да кто такое будет проверять"
    
 
    
    Roman 
    
    
        
        
        
        так вот фингерпирнт канваса давно в коде метрики
    
 
    
    Roman 
    
    
        
        
        
        и все твои визиты будут линукс)
    
 
    
    Roman 
    
    
        
        
        
        а юзерагент виндоус 😄
    
 
    
    Roman 
    
    
        
        
        
        ну ты же спрасил как
    
 
    
    Roman 
    
    
        
        
        
        я и сказал не?
    
 
    
    Roman 
    
    
        
        
        
        наши разговоры дорого стоят
    
 
    
    Roman 
    
    
        
        
        
        не так много экспертов по пупитру в рф)
    
 
    
    Roman 
    
    
        
        
        
        можно решить эту проблему на самом деле
    
 
    
    Roman 
    
    
        
        
        
        но в паблике никто не будет рассказывать
    
 
    
    Gambit501 
    
    
        
        
        
        А как же анонимный браузер сфера? ониж как то нашли решение, да и другие браузеры есть, которые тоже меняют шрифты
    
 
    
    Alexander 
    
    
        
        
        
        @bin2hex @satanch я работаю manual tester-ом, мне очень понравился Puppeteer, хочу автоматизировать проверку UI элементов и некоторые E2E тесты, уже написал простенькие тесты с Puppeteer-ом. Можете подсказать как дальше прокачиваться с использованием puppeteer, где можно посмотреть более advanced level примеры, а то в основном везде basic level. Извините за нубский вопрос если что.
    
 
    
    Alexander 
    
    
        
        
        
        @bin2hex просто мне показалось что у меня слишком простые тесты: типа shouldExist - click - assert + вынес отдельно селекторы, хотел посмотреть на более сложные примеры. Окей, я понял, буду разбираться с докой и писать примеры для своего приложения.
    
 
    
    Alexander 
    
    
        
        
        
        Подскажите как выбрать и нажать кнопку, которая содержит конкретный текст, которая спрятана в куче div-ов с динамическими классами.
    
 
    
    DeniskaAb 
    
    
        
        
        
        А как получить атрибут  onclick через селектор?
    
 
    
    DeniskaAb 
    
    
        
        
        
        логично, не поспоришь. Как a[onclick] мне нужно функцию из атрибута как текст, как сделать через JS я знаю, а как будет просто селектором.
    
 
    
    Андрей 
    
    
        
        
        
        Привет ребят
        Как. правильно прописать proxy-server для puppeteer с ссылкой на контейнер с tor-proxy?
        https://qna.habr.com/q/715353
    
 
    
    倫太郎 
    
    
        
        
        
        
    
 
    
    倫太郎 
    
    
        
        
        
        че та много всего за раз
    
 
    
    Alexander 
    
    
        
        
        
        @bin2hex спасибо за подсказку, вообщем реализовал это так:
        1. в helpers.js вынес:
        
        clickXPath: async function(page, xpath) {
                try {
                    const [button] = await page.$x(xpath);
                    if (button) {
                        await button.click();
                    }
                } catch (error) {
                    throw new Error(Could not click on xpath: ${xpath})
                }
            },
        
        2. в самом файле тестов добавил:
        const clickXPath = require('../lib/helpers').clickXPath
        
        3. и в самом it уже передаю значения xpath:
        await clickXPath(page, "//button[contains(., 'Log in')]")
    
 
    
    Alexander 
    
    
        
        
        
        @bin2hex тут нашел https://stackoverflow.com/questions/47407791/puppeteer-click-on-element-with-text у меня сработало
    
 
    
    Alexander 
    
    
        
        
        
        @bin2hex окей, спасибо, пойду дальше разбираться.