Size: a a a

🐘PHPStorm TIPS & TRICKS

2021 February 16

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
нувооот)
источник

AD

Alexander Diospa in 🐘PHPStorm TIPS & TRICKS
источник

AD

Alexander Diospa in 🐘PHPStorm TIPS & TRICKS
Mike Skvarovski
нувооот)
А тебе тесты нужны были?☺️☺️
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
Alexander Diospa
А тебе тесты нужны были?☺️☺️
не особо, я не пишу в команде)
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
ребзя, вы заставляли папетир ждать, пока вы капчу введете? мне вот надо
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
waitFor new content?
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
Mike Skvarovski
waitFor new content?
как реализовать?
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
короче, долблюсь уже кучу времени с этим, вот конкретная ситуация:
на капчу может выкинуть в любой момент. нужно ввести ее руками, и дождаться, пока на сайте сработает жс, который перекинет тебя на запрашиваемую страницу
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
у меня в старом коде это было сделано через page.waitForSelector(selector,{timeout:10000}).when ...
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
а, таймаут
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
стригерить бы его на релоад страницы...
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
кста, а что у тебя обычно в .when(...)
?
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
let resultSearchValueState = 0;
           await Promise.race([
               page.waitForSelector(resultsTableSelector,{timeout:10000}).then(r=>2).catch(r=>-2),
               page.waitForSelector(resultsBrandSelector,{timeout:10000}).then(r=>1).catch(r=>-1)
           ]).then(r=>{resultSearchValueState = r});
           console.log('resultState = '+resultSearchValueState);
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
ну, то есть что и когда этот код делает?
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
тут код ждёт определенный ответ от сайта, бывает так, что есть два ответа разных, по ним система определяет, нужно ли сделать еще шаг или уже можно собирать сливки
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
Александр Яковлев
ну, то есть что и когда этот код делает?
заюзай анонимку const vanillaPuppeteer = require('puppeteer')
const {addExtra} = require('puppeteer-extra')
const Stealth = require('puppeteer-extra-plugin-stealth')
источник

АЯ

Александр Яковлев... in 🐘PHPStorm TIPS & TRICKS
стелс до пизды
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
нувооот
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
Александр Яковлев
стелс до пизды
const browserArgs = [
           '--no-sandbox',
           '--disable-setuid-sandbox',
           '--disable-infobars',
           '--user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
       ];

       const proxies = [
           'proxy:port',
           'proxy:port',
           'proxy:port',
       ];

       let perBrowserOptions = [];

       for (let i = 0; i < viewers; i++) {
           //perBrowserOptions = [...perBrowserOptions, {args: browserArgs.concat(['--proxy-server=' + proxies[i]])}]
           perBrowserOptions = [...perBrowserOptions, {args: browserArgs}]
       }

       const cluster = await Cluster.launch({
           concurrency: Cluster.CONCURRENCY_CONTEXT,
           maxConcurrency: viewers,
           puppeteer,
           monitor: false,
           puppeteerOptions: {
               //headless: false,
               args: browserArgs,
           },
           perBrowserOptions: perBrowserOptions
       });
источник

MS

Mike Skvarovski in 🐘PHPStorm TIPS & TRICKS
по проксям ходил?
источник