December 16, 2024

Playwright - простейший путь в кодинг web3

Привет, мы всё ещё How to Code: из потока в поток и спустя 600 учеников. Даже успели обучить 1800 человек за 0 у.е. и в этой статье продолжим показывать опыт бесплатного обучения – ты узнаешь про библиотеку браузерной автоматизации Playwright и перестанешь бояться "высокого" порога входа в программирование.

План статьи:
1) Что же это такое Playwright (PW)
2) Что можно реализовать при помощи PW (спойлер - ВСЁ)
3) Минусы PW 4) Интервью с кодером на PW 5) Роадмап: web3 автоматизация при помощи PW

❗Данная статья - не полноценное обучение. Мы сделаем подробный обзор данного инструмента и дадим роадмап для дальнейшего изучения.

Что же это такое Playwright (PW)?

Не путай, это не отдельный ЯП (язык программирования), а библиотека на Python для тестирования и браузерной автоматизации – набор инструментов, зато какая! Молодой фреймворк которому всего 3 года, разработан и поддерживается Mircosoft.

А вот вкратце о нём:

  • Визуализация. Мастхэв для новичка – напишешь 3-5 строчек кода и видишь не только красную страшную ошибку, а как открывается Chrome и запускается CoinMarketCap.
  • Простой и многосторонний. Если элемент на сайте не найти через 1 метод, попробуй 2, 3 и 4.
  • UI-касания. Друг абузера криптопроектов. Тебя не побреют за софт на Playwright благодаря подмене запросов для симуляции UI касаний. Все будут думать, что сидишь за компьютером или телефоном – ты.
  • Документация. За штурвалом Microsoft и коммьюнити опытных разработчиков в автоматизации, она прям хороша.


И самое главное...

  • Самый хороший, самый лёгкий, самый приятный трамплин ко входу в мир кодинга. Значение методов PW очень легко понять даже с базовым A1 английским. Например: "page.goto". Да, ты всё верно понял, что он позволяет открыть страницу.

    🔥 Ты сможешь автоматизировать проекты в крипте буквально за пару дней изучения данной библиотеки!

Что можно при помощи Playwright?

Круто же, оптимальное сочетание полезности и простоты. Нам тоже очень приглянулся Playwright, поэтому мы бы хотели, чтобы ты изучал его вместе с нами. А вот список того, что можно делать с помощью PW:

  • Автоматизация отправки транзакций. Тут всё просто: кому, сколько, когда отправить. На транзакциях по сути построена вся автоматизация крипты. Свапы, минты, переводы, стейкинги и многое другое можно сделать с помощью PW.
  • Работа со всеми сетями (хоть 🔹EVM, хоть 🪙 Solana, хоть 💰 Bitcoin, хоть 🔴 Tron - всё что угодно)
  • Автоматизация любых активностей. Помимо транзакций вы можете автоматизировать всё другое - Discord, Twitter, Telegram и т.д.

Исходя из первых трех пунктов можно сделать вывод, что ты можешь автоматизировать абсолютно любой проект в крипте - хоть Arbitrum, хоть Hyperliquid, хоть Aevo, хоть Polymarket, хоть Meteora.

  • Прокрут большого количества аккаунтов одновременно
  • Парсинг. Не хочешь лазать по CoinGecko и следить за курсом монетки? Мониторь котировки, объёмы торгов, рыночную капитализацию через уведомления в ботика Telegram об изменении цены.
  • Тестирование dApps. А где тестирование, там и автоматизация. Профессия тестировщик сама по себе востребована в WEB2, а рынок WEB3 специалистов оценивается в х2-3 дороже. При помощи Playwright ты изи сможешь тестировать пользовательские интерфейсы протоколов (например, все ли кнопки работают на Uniswap). Проекты гонятся за повышением конверсии и готовы платить большие деньги за нахождение неэффективностей. Ещё часто проводятся баунти-программы: в 2017-18 годах за простенький видеоролик о проекте сыпали альткоины, которые потом стреляли на бычке; а представь, какие плюшки получали тестировщики?
  • Подмена/перехват запросов. Обычно ты заходишь на сайт и глазом не успеваешь моргнуть, как данные тут же передаются провайдеру сайта. А если ты ретрохантер и получение сервером идентичных данных с 100 аккаунтов будет смертельно для твоей фермы?
  • Обход капчи. Вспомни сколько времени ты терял и хватался за голову, что 10,000 NFT разобрали за пару минут, пока проходил тысячи проверок. А ты ведь не спал ночь и реакция благодаря Counter-Strike у тебя хорошая... Здесь Playwright сможет быть твоим "сапёром" и открывать любые двери, а тебе останется забрать профит.

То есть ты понял, можно делать БУКВАЛЬНО ВСЁ. Это твой верстак, делай всё что хочешь и используй функционал Playwright по максимуму. Чтобы не быть голословными о крутости этой библиотеки, изучи кейс нашего ученика (которого обучили в рамках челленджа бес-пла-тно).

В первый же день работы софта для Meteora, написанного на Playwright, он заработал 42$ нажав на кнопку "run code"

А минусы то какие у Playwright?

Главный плюс PW - это простота, но для баланса вселенной в нём есть и ряд минусов:

  • Требует много ресурсов. Можно выделить невозможность одновременного запуска 1000 аккаунтов. Даже 20-40 аккаунтов будут запускаться со скрипом даже на хорошем устройстве. Будьте готовы к такому.
  • Софт постоянно ломается. Софт написанный на Playwright для взаимодействия с фронтендом придётся потенциально ревьюить и переписывать, если кнопка «Swap» поменяет свой якорь.
  • Playwright достаточно молодой и в Интернете может быть маловато информации. Но ничего, в учебных чатах How to Code сидят специалисты по PW и помогут ускорить твой процесс освоения такого замечательного фреймворка.

Быть специалистом по Playwright – это...

Об этом нам расскажет Тимур – ученик второго потока, как раз он помогал дезинфектору Александру написать первый софт. Сразу скажем ему спасибо за подробное интервью и качественный обзор библиотеки.

Слушаешь его и понимаешь, какая же Playwright ценная возможность закрепиться в мире кодинга и стать тем самым, о ком говорят: «Ух ты, он IT'шник!».

Вопрос: Правильно понимаю, что уйти в изучение Playwright можно с базовым знанием Python? Какие нужны навыки?

Ответ: Я тот человек с которым ты разговариваешь – именно так и сделал. Основы прошёл, пошел в Plawright. Хотя у нас урок по нему в конце WEB3, я понял, что не смогу освоить, мне слишком сложно далось. Вот смотрю уроки, и просто ничего не понимаю :D. А потом просто зашел на YouTube канал Ahillary, там посмотрел урок и понеслась...

После чего все пацаны ушли в WEB3, а я один ушёл в Playwright - где я гораздо раньше начал зарабатывать, потому что Ahillaty подкидывал заказы.

Вопрос: В чём разница в подходах обучения между Playwright и WEB3?

Ответ: Гораздо легче и быстрее старт, потому что для WEB3 надо иметь нормальное такое представление про кодинг и первый свой софт напишешь только через 6 месяцев, а на Playwright это случится уже через 2-3 недели. Пока кто-то изучает WEB3 в течение полугода, за это время ты напишешь софты под 10 проектов и оттестишь свои скиллы.

Не могу назвать неправильной дорогой после основ Python изучать сразу WEB3, но это сложно. И надо крепким быть пацаном и голова должна реально шарить, должны быть природные навыки, чтобы правда преуспеть там за короткое время

Вопрос: Чем ты занимался до появления программирования в твоей жизни? Был ли расположен к кодингу?

Ответ: В принципе, школу окончил неплохо и одни пятерки были. Было ли мышление программиста? Нет. Был ли я тупым? Тоже не скажу. Мог освоить что-либо, но мне сейчас 30 лет и мозги не как у 20-летнего, как ни крути. Предрасположенности к кодингу вообще не было, всю жизнь до этого возился с машинами.

До того как посмотрел уроки ахиллари на ютубе для меня это было нечто непостижимым, непостижимое дело кодинг. Когда перед о мной сидели и говорили, что работают в IT – я чувствовал, что напротив вундеркинд. Я вот так вот думал.

Вопрос: Насколько интенсивно ты кодил, когда проходил обучение?

A: Сначала я просто изучал базу по урокам, домашку не решал и загореться программированием не смог. Начал задаваться вопросом как проснуться, деньги же заплатил, к тому же.

Первым делом заинтересовал парсинг, потом Playwright открыл ворота к пониманию структуры кода. С Playwright ты быстрее и поступательно освоишь те же циклы и обработку ошибок, аналогия со спортом: сначала чемпион в школе, области, регионе; затем в мире.

Мы говорим и советуем стандартным людям = идти по маленьким победам. Каждый день строка кода, как капелька мотивации.

Вопрос: В чём сила Playwright?

Ответ: Если ты 3 месяца занимаешься кодом через эту библиотеку, то потом не отпустишь его. Так что, сто процентов, чтобы дотянуть до 3-х месяцев нужен Playwright. Человеку который только-только заходит в кодинг, ему точно надо начинать с него.

Такие пироги, также мы попросили Тимура составить роадмап для обучения новичка WEB3 автоматизации.

Роадмап: web3 автоматизация при помощи Playwright.

Кодинг не халява! Имей желание учиться и ставить обучение в приоритет, договорись с СДВГ, что за 2 часа всё-всё не выучишь и нужно приложить усилия, чтобы уже потом 2 часа тратить на рейс «Рим – Афины».

1. Выбери проект для автоматизации. Playwright позволяет быстро перешагнуть "теоретический барьер", он как старший брат, который учит играть в компьютер и держит руку на плече – «Не переживай, я визуализирую твой код. Практика это не страшно!». Помнишь рассказывали про дезинфектора Александра? Он выбрал Meteora и здесь есть инсайт: совмести полезное с профитом и ищи перспективный проектик.

Подкинем тебе сразу идейку – Polymarket (у них как раз будет дроп) предлагает ставки криптой на всевозможные события (политика, спорт, крипта) и часто можно увидеть событие с одним из вариантов исхода (Да/Нет) с шансом 99%. В таких случаях, рынок закладывает фактор победы исхода ввиду анализа ситуации (в 8 раунде было понятно, что Джейк Пол одолеет Майка Тайсона, но тот самый 1% предполагал возможность зрелищного нокаута вторым). Логика понятна. И вот, можно написать парсер на события раздела "Ending Soon", забирать 1-2% к банку и фармить объёмы, чтобы в бычьем 2025 году залутать дропчик. Конечно, риск переворота шансов на исходы всегда есть, но статистика на нашей стороне и при соблюдении банк-менеджмента даже такой "невозможный луз" покроет череда консервативных сделок; 2. Изучи основы Python, без них никуда. Достаточно того, что есть в публичном доступе. Если ты прошел с нами этот месячный марафон по Python, то может идти дальше, если же нет, то стоит сначала пройти его;

3. Изучи проект перед началом работы. Опытный шеф-повар может с закрытыми глазами приготовить блюдо на своей кухне, покликай/полистай/полазай по сайту. Чтобы понять, что же всё-таки можно автоматизировать?;

4. Начни работу с сайтом проекта через Playwright. Поставь себе задачу каждый день работать минимум над одним действием-автоматизацией:
- во вторник запустил браузер,
- в среду сделал навигацию в разделах и подключил кошелёк.

Всегда помни, мы обычные люди и это нормально, нам нужны маленькие шажки. Через поступательные действия родится крупный проект и ты почувствуешь себя супергероем, ведь у тебя получилось!

5. Источники. Самое главное - где набирать теоретическую базу? Самый лучший источник информации это документация библиотеки. Пока мышление ещё не адаптировалось к "кодерскому языку", используй ChatGPT и учись правильно гуглить. Вот, правда, в рамках How to Code постоянно об этом повторяем – учись правильно работать с браузером, ты же БРАУЗЕРНОЙ автоматизацией собрался заниматься, так будь рыбой в воде. Этого тебе достаточно, чтобы не распыляться и бить в одну точку.

6. Самое главное - урок! 20-ого декабря выйдет урок по основам Playwright на нашем канале - https://t.me/how_to_code_web3/840, и уже после него ты сможешь начать путешествие по этой прекрасной библиотеке.

И уже на нём мы рассмотрим следующие вещи (ниже на скрине):

Увидимся на канале.