Смотреть видео: BrowserAutomationStudio. Урок #6. Условия. Действие If. Постер twitter.


5 839 просмотров.

Краткое описание видео: .приветствую это 6 видео загущающие видео.уж за побросав то мысин студио и оно.посвящено условиям и действию их слово.if приводится на русские как если.и это действие встречаются практически в.каждом скрипте потому что если бы его не.было то все другие действия они шли бы.последовательно и создателя скрипта не.было бы никакой возможности изменить их.порядок либо создают какие-то ветвления.ну возьмем вот такой пример у вас и сайт.на котором можно зарегистрировать.аккаунт и сайт может либо попросить.подтверждение по телефону либо нет и с.помощью действия их разработчик может.обработать эту ситуацию то есть.проверять наличие сообщения о том нужно.ли подтверждать телефон и делась.подтверждение только в том случае если.сайт запросил его.этот урок будет разбит на две части.первая теоретическая а в которой я.расскажу как работает это действие если.вы смотрели остальные видео ты здесь не.будет для вас ничего нового вы можете.сразу переходить ко второй части.во второй части я создам скрипт который.опустит сообщения в twitter и вместе с.этим делает очень много проверок.начнем с теории все условия аббас.реализуется через действие iv это.действие внутри модуля логика скрипта.вот она же и самая первая и на самом.деле это.единственное действие которое работаю с.условиями давайте его откроем и здесь.всего два параметра первый это их.выражение.то есть это та выражение которая вас.будет проверять на а то.истинна она или ложна и в зависимости от.этого будет уже совершать определение ты.будешь выполнять либо те либо другие.действия ну примером таких iv выражений.их на самом деле очень много например.содержится ли заданный текст на странице.либо сравнение двух чисел то есть больше.ли число a фолловеров сотни либо.подходит ли строка под какое-то.регулярное выражение.либо опоры больше вида рака кого это.значение и так далее здесь на самом деле.можно вместить абсолютно любую логику и.второй параметр это s-блок.ls блок он используется тогда когда.нужно совершать действия не только если.условие истинно но и если условие ложно.я вернусь позже к тому как составить их.выражения.но сначала я покажу как выглядит это.действие и ну карнава работает группа.говорят я поставлю здесь труп это.ключевое слово которое означает что.выражение всегда истина и установлю.галочку добавить else-блок я нажимаю ok.и у меня создается видите таких вот два.действия одно действие и.и второе действие ios на самом деле они.соединены вместе их разделить невозможно.если будут приносить одно действовать то.ты не сердце и другое.давайте вам покажу на примере дуба.о какой то какое-то действие log если я.переношу действия их то вместе с ними.переносится и действия рлс и обратите.внимание что у этого действия есть.индикатор вставки он немного сдвинут это.означает что это действие поддерживает.действия внутри него вот эта группа.действия которое внутри и она.наполняется только тогда когда условие.истино.а вот это группа 9 выполняется только.тогда да условия ложка я добавлю.действия лог внутри каждой группы чтобы.было наглядно напишу здесь просто плюс.плюс условие истино.и здесь напишем условие ложно.давайте я очищу мог и выполнил действия.iv буду выполнять его шаг за шагом.вот сейчас проверялась условия и.поскольку условия true всегда истина то.в лог выводится именно плюс и условие.истино.а то что внутри л служение выполняются.при чем очень важно обратите внимание.что после блока if скрипт продолжать.работу то есть он не останавливается на.нем все действия которые мол дальше они.будут выполнены если я опущу мой скрипт.вот так то сообщение skip продолжает.работаю водится в лоб давайте я теперь.изменим условия на другой фолз фолз это.тоже ключевое слово но а она.противоположна i truly говорит что.условия никогда не будет правильным и.вот в этом случае если я запущу стрим.то а в этот блок я уже не захожу я.попадаю в bios и здесь наверно правильно.минус поставить и влагу водится условие.ложно и опять же скрипт продолжает.работу использования труб и фолз в.качестве параметра для их не несёт.никакой практической ценности потому что.эти условия они жестко прописаны.давайте рассмотрим пример которые более.приближена.приближен к жизни например я хочу я.открыв какой-то сайт найти если там за.данное мной изображениях и если она и.есть та выполнять какой-то один блок.действий и если его не эту то.выполняется абсолютно другой блок.давайте загрузим какой-то сайт например.twitter.и я буду искать логотип twitter а вот.эту птичку для того чтобы проверить если.изображение на сайте или нет мне нужно.выделить левой кнопкой мыши и wog ты.зажать его.и вот этим зелёным квадратам который вы.только что видели.выделить нужные мне изображения и в меню.открылись действия который я могу.сделать с вот этим изображением которое.я могу который я найду и одно из них это.проверить существование это как раз то.что нужно.вы помните что действия возвращают.результат своей работы в переменное.данном случае бас дает непременно по.умолчанию назвать его по умолчанию.из экзист но дает мне возможность.выбрать название перемены я оставлю как.есть и буду сохранять результат того.есть у картинка на сайте в переменную.яндекс диск и если вы посмотрите сейчас.инспекции примерно то есть месте где.собраны все переменные значения то в.переменной язык зис у меня как раз true.как раз вот это вот это ключевое слово.которое означает.истину то есть другими словами это.означает что вова картинка найдена на.сайте и вот эту переменно поскольку она.может принимать либо истина либо ложь.ее можно оставлять в условия вот это.условие if выражение.я сейчас таки сделал вместо жестко.загнала фолз и оставлю значение из.переменной.я бы дружок и попробуй еще раз сделать.выполнить свой скрипт.снова загружается страница твита.находится изображение она найдено.поэтому флаг водится условие истино.и продолжается работа если я изменю сайт.на какой-то другой там жених логотипа.twitter то посмотрим как сейчас.сработает скрипт загрузился сад там.картинки вот этой птички нету поэтому.вывелось условие ложно а теперь немного.теории и почему это все работает почему.есть какие-то значения true force.почему я могу вставляю сюда переменную и.самое главное как мне как мне понять.принцип как я смогу вас формировать.другие выражения более сложно на самом.деле всё это очень просто вот это поле и.выражение.она точно такой же как и другие поля для.входных параметров в бас и точно так же.как и другие поля него есть тип данном.случае здесь используются только тип так.страшен и когда в поле есть тип.expression когда у него типов спрашиваю.это означает что внутри его может быть.любой java script ход да именно так вас.пас будет выполнять этот java script код.потом преобразовывать его к типу boolean.только типу истина или ложь и.зависимость от этого уже действо.то есть почему работает труп потому что.это ключевое слово взяла скрипт ключевое.слово которое означает всегда истину то.же самое из holes это ключевое слово.которое означает всегда ложь и.соответственно если подставить.переменную сюда то значение переменной в.текущий момент будет заменено на то есть.название переменной будет заменено ее.значение в текущий момент и она как раз.тоже либо true.ибо falls и поскольку здесь может быть.любой javascript код так я могу писать.любой джерс выражения например я могу.написать так если длина строки больше 10.и это будет работать потому что он.planks.это метод который java script.возвращают длину заданной строки которые.он применяется больше это оператор.сравнения либо я могу написать вот так.вот больше равно 10 ну 10 это задание.числа.здание строки она происходит в такой.красный текст пишется в кавычках и эти.все а правило они правильные слова.скрипт они пришли оттуда и любые другие.функции.их также можно использовать в парс и.составлять с помощью никакие так.сложные условия давайте еще немного.потренируемся под оставим такое.выражение.поскольку длина строки в данном случае.33 не больше десяти.то будет выполнить действие внутри блока.элс поскольку вы такое выражение.преобразуется.falls давайте проверим я умру сейчас.поиск картинки.давайте проверим как это будет работать.видите условие ложно но если я напишу.если я сделаю переменную по линии.то условия уже будет истина.потому что на этот раз длина этой строки.больше десяти.конечно же вместо реальность реки я могу.вставлять переменная я могу логике.скрипта создать новую переменную назову.ее просто string вписать там какое-то.реальное значение и вместо вот этой.строки.использовать перемена бить и сейчас.будет условия истина потому что.переменная строка достаточно большая а.сейчас вот условия ложно потому что.строительстве всего опять символ.и в общем если вы не знаете как работает.вот этот синтаксис.то есть такой инструмент бас который.называется конструктор по нему тоже был.отдельный урок но я сейчас очень коротко.давайте вот это выражение то что длина.строки.мощи 10 со старым в конструкторе.конструктор он оперирует с такими вот.блоками здесь могут быть либо блоки.которые задают значения то есть можно.добавить блок который будет просто.возвращать то что есть переменные либо.есть блоки которые как бы на входе.получает одно или несколько значений.как-то преобразуют их и выдают что то на.выходе например есть блок которые.получают длину строки если я на вход.потом ему нашу переменную string и.отправлю его значением результат то это.будет означать что я получаю просто.длину этой строки и витя в съела внизу.нам показывается выражение которое.сформировало конструктор и если бы я.даже не знала вот этой а про вот эту.функцию links to я мог просто найти.здесь длину найти здесь вот это значение.с помощью блоков составить бы такое.выражение нам ещё нужно проверить длину.строки на то больше ли она а какого это.числа и вот здесь есть операторы.сравнения в описании можно прочитать.разрешают true если значение 1 больше.значения 2 я буду использовать именно.его.то есть здесь уже 2 входных значения.первое то что мы сравниваем а сравниваем.длину строки.построит и с чем мы сравниваем а.сравниваем просто числом числом 10 и.помните что я могу задавать блоки со.значениями через вот эти три кнопки.строка числа выражения выражение это.опять же видите здесь типок спрашивает а.просто java script код.но в данном случае мне нужно число число.10 и вот такое вот выражение она будет.идти к тому что я делал раньше то есть.если длина строки больше десяти.то выражение истинно если нет то.выражение ложно.видишь что доступно статус оставил нам.практически такое же выражение только.добавил еще.скобок давайте проверим как она работает.условие ложно на маленькой строке и на.большой условия будет истинным еще в.этом конструкторе что очень полезная для.их есть.логические операторы и.и линия если то есть если бы у меня была.условно по сложнее которое но говорила.допустим страха больше длина строки.больше десяти и в ней присутствует какая.то какая то буква давайте посмотрим как.это можно составить.то есть мне нужно добавить и потому что.у меня теперь два условия первое я уже.составил остро и сейчас сделаем вот есть.очень полезный блог содержит он проверяю.содержит ли одна строка другую.я добавлю и и добавлю свою строку.которую я проверяю и буду проверять.содержит ли она допустимого букву л.то есть вот это второе условие она будет.true.если строка содержит и и фолз песню не.содержит я добавлю ее к блоку.и и теперь уже будет проверяться 2.услуга вот это и вот это и это все.запишем результат видите здесь как такие.не очень простые и очень простые функции.которые пользователь который незнаком.начало скрип можете не знать но с.помощью конструктора можем сделать.давайте проверим как работает выражение.созданная с помощью конструктора.вот если я вложу много букв и то очищу.лог то условиях блоки стена поскольку и.и присутствует и строка объявляя.но если я ввожу допустим много букв by.the строка больше десяти на второе.условие уже не выполняется то что вы там.присутствует хотя бы одна буква и.поэтому.условие ложно если у вас не получается.составить выражение и конструктор не.помогает то вы можете поискать в сети вы.можете поискать эти решения вашей.проблемы но не для вас а для java script.и потом применить.найденное решение для вас она будет.работать вот например на этом сайте есть.описание всех методов объекта string то.есть все что можно применить к строкам и.можно эти методы использовать прямо.использовать глаз.вот еще один сайт здесь тоже описание.только на русском и так далее еще я.хотел бы поговорить о преобразованиях.типа то есть это сих пор я оставляла.сюда то что является правильным пулевым.значением ты слышать либо истина либо.ложь и ну если я вставляю либо истина.либо ложь что я понимаю как будет.работать вас что в случае истины он.будет выполнять то что находится в струн.и наоборот будет выполнять находится в.лс.но как быть если я оставляю сюда.допустим число допустим число 11 или.строку строку.11 или какую-то другую строку вообще.азбуками а что будет в этом случае в.этом случае ошибки не будет.и вас будет преобразовывать.преобразовывать вот этот тип булевому.типу.и ну правило на самом деле очень простые.большинство.всего что вы составите она будет.преобразована в true.примера а произвольная строка она будет.преобразована в true эти сейчас пальца.условие истино единственное исключение.это пустая строка.пустая строка будет преобразована.поставить только будь ты образован of.holes видел слой заложено то же самое с.числами.любое число кроме 0 оно будет.преобразовано зла истину условия истина.но если я учусь здесь 0.то раз мне выдаст аусла играл можно есть.еще специальные значение ну а не будь то.же преобразована фолз то есть важное.значение и это проще пасе что все.правила полный список вы можете.посмотреть на вот этом сайте я оставлю.ссылку в описание вот здесь есть такая.глава логическое преобразование и здесь.только будет работать iv это так он.будет преобразовывать разные типы.принести внимания на то что строка фолз.не будет преобразована в значение false.то есть если я если у меня есть такая.строка которой есть фолз и я вставляю в.блок ev3 если бы я ставил переменам фолз.она бы выдалась она бы выдало минус то.есть условие ложно месте отставляю.строку.то на выдает труд то есть условия истина.потому что это именно строка.а сравнивать строки можно с помощью.специального операторов сравнения то.есть я могу сравнить строку.например струнке операторы сравнения.именно.два символа равно потому что один символ.родного.зарезервирован под присваивание если я.напишу так это будет размещать что не а.переменной string’ хочу присвоить.значение от рук а вот а от мечты я хочу.сравнить эти значения.ну и об этом же говорит конструктор.видите здесь самое первое самый первый.блок это блок сравнения с двумя.символами равно.то есть если я напишу так то условия.будут истина тогда и только тогда когда.переменной string’ будет значения true.давайте проверим если там значения фолз.то уже условие ложно а если я приду сюда.труп то условия истина и под видео я.оставлю множество других примеров из.других уроков то есть просто ссылки на.видео ставим кодов чтоб вы могли.посмотреть другие примеры если этих.недостаточно нашли заказчику который.просит вас сделать постер для twitter и.он говорит что у меня есть вот такой вот.файл в котором содержится логины и.пароли я хочу чтобы каждый аккаунт.заходил в twitter и пусть он сообщение о.которой я задам.но дело в том что в этом фоне они могут.быть не только правильные никиной пароли.не могут быть те аккаунты который.twitter забанил те которые растем.которых логин или пароль не правильный.ну и также правильную аккаунт и.естественно нужно сделать так чтобы вот.пластину он проходил максимально.эффективная и максимально.производительно то есть смотрите в.twitter можно зайти даже если аккаунт.забанен и даже сделать пост в этом.случае но его никто не увидит этот пост.и в том случае если аккаунт забанен.нужно сделать так чтобы скрип даже не.заходил туда то есть даже не тратил.прокси и какой то время на авторизацию.чтобы он просто пропускала то такого и.то же самое случае с аккаунтами катеров.не существует.и нужно обработать также ситуацию ту в.которой пароль от аккаунта будет.неправильно трактует измененными ща еще.есть такой момент что кости цветы нужно.только тогда когда прошло достаточное.время с постинга прошлого цвета так.чтобы этот скрипт не не застрял ленту я.сдал вот так а вот файл в нем все пять.строк конечно в реальный пазух аккаунт и.аккаунт тариф намного больше но для а.целью демонстрации сойдет первые два.аккаунта в ней.а в нем приостановлено и то есть и не.завальный twitter 3 нейтральный лагерю 4.уникальный пароль гектаре правильно и и.5 и правильные логин и пароль давайте.начнем разработку для начала я удалю все.старые действия.очищу лоб и при загружу скрипт я начинаю.сюда работать над новым скриптом из того.что создаю ресурсы и думаю какие данные.мне понадобятся.первый ресурс это очевидно список.аккаунтов давайте его добавлю это будет.у нас из файла только чтения я.использована аккаунт и удалять не буду и.а каждую строку буду использовать только.один раз потому что мне нужно сделать.всего один твит.что еще понадобится наверно количество.потоков я хочу сделать его изменяемым.буду использовать число по умолчанию.установлю единицу и от 1 года.ну-ка пусть до сотни сделаю возможное.значение 3.этот вид который.который мой скрипт будет постить это.меня будет строка потом опять же можно.добавить вариант из файла просто для.демонстрации я оставлю строку значения.по умолчанию пусть будет пустое и.отобрали валидацию чтобы он просил.пользователя ввести и хотя бы.какой-нибудь tweet.дальше нам нужно задержка задержка.а это минимальная задержка при.достижении которой.твит будет поститься чтобы не было.несколько твитов подряд это у нас будет.число но я буду считать что это значение.1 секунда до максимального значения не.буду делать оставлю так как есть.и еще в том случае если а если твит не.будет создан против то причинам по.причинам валидации или еще по каким-то.и я буду записывать неудачи и в отчет я.сделаю для этого отдельный файл выберу.из файла и выберу только запись я.рассказывал как это все работает вот эти.параметры.уроки про ресурсы ну если вкратце то.только запись не буду читать файл я буду.использовать его только для того чтобы.получить имя файла и чтобы туда писать.чтобы пользователь задал какое-то имя.файла для отчета и когда я выбираю.только запись 100го возмещения в этом.окне они ни на что не влияют хорошо.ресурсы были созданы и теперь вас просят.перезагрузить редактор скриптов и.выбрать какие ресурсы для аккаунтов я.выбираю файл который я создал которые я.вам показывал вот этот потоков пока я.ставлю 1 качестве ты это напишу что-то.стандартная задержку поставлю по 10.секунд и отсчет герой так ну вот новый.зал.давайте попробуем как будет реагировать.обычный браузер что он будет показывать.если я буду открывать ним разные типы.аккаунтов вот так вот выглядит аккаунт.который существует вот так вот выглядит.аккаунт.[музыка].которого нет который не существует и.обратите внимание что когда я загружаю.его то twitter мне выдает статус 404.вот паз она выдает ошибку если страницы.загружаются статусом 404.и дальше мы будем это использовать и.третий тип аккаунта это замороженный.оправок то есть с которой приостановлен.или забаню.и если я открываю его то на помимо.сообщения еще urals странице меняется на.вот такой вот.аккаунт состоит и это мы тоже будем.использовать хорошо давайте начнем и.самое первое что нам нужно сделать это.загрузить страницу устану.заданным аккаунтом в браузере но еще.перед этим нам нужно расположить вот эту.строку и получить отдельно сюда лай.плагин вот логин в одну переменную тип.роль другую это можно сделать с помощью.действия почти строкой.видите здесь есть два таких действий 1 и.смотрим инструментом 2 модуля список.список.но из тот который смотрит список он.завершает список и я не хочу сейчас с.этим заморачиваться я воспользуюсь тем.который в модуле инструменты потому что.он уменьшают.если переменная и вот первый параметр.этого действия это у нас строка так.канал у нас ресурсов то ее можно.получить просто вот так вот просто.используя ресурс а второй тип это.переменная их может быть 1 2 3 сколько.угодно через запятую в которую.сохранить результат вот этого парня.здесь даже описания она подходит под наш.пример то есть это действия но как раз и.создана для парсинга таких вот строк.большом нажимаем ok.смотрим спектр переменных видите здесь.юзернейм и пароль просто рст вас а.правильно теперь нужно открыть страницу.twitter с этим аккаунтом.здесь вот я использую перемену который.получил прошлом действие user name.ведь загрузилась страница.ну каким браузера pawns и стандарт и.первую проверку которую я сделал это.проверка на приостановку аккаунта на то.что он состоит помните для этого нужно.сверить сверить урал и самый сариева.нужно конечно же получить для этого.существует действия текущей урал она.максимально простое просто и разогреть.переменная смотрим видим что в кирате.ral.а то что мы ожидаем там увидеть а теперь.мне нужно вставить проверку использовать.действие тиф помните что здесь можно.написать.java script выражение с функцией индекс.слов но давайте я быстренько сделал его.в конструкторе я добавляю сюда те данные.которые у меня есть этот актер обтирал и.добавляю блок содержит.первый параметр это мои данные.авторы второй параметр я скопировала.прямо из браузера.это строка которую мне нужно проверить.вот такое вот выражение меня получилось.а также добавлю сюда к usb lock и.смотрите на что мы имеем у нас есть.ветвление а вот в этом случае все.действия которые будут выполнены здесь.они будут выполнены с танцующей строкам.забанен а в том случае стакан забанен я.просто хочу вывести влог сообщение об.этом а.к..usa на запад а в том случае если аккаунт.не и забанен но у меня будет функционал.то есть я буду заходить в твиттере и.делать танки это действие но пока я.просто напишу дрон заглушку просто.напишу здесь рабочим отлично.прости теперь проверим наш street.посмотрите если оставить здесь успешных.выполнений и неудачных выполнения.единицу.то вообще эта панель она отвечает за.многопоточную страшно провели много по.точности если оставить здесь по единица.но и поток соответственно единицу то.выполнится на шрифт выполнится только.один раз соответственно только для.одного аккаунта дайте покажу как это.будет рубились.вот то есть он проверил только один раз.аккаунт только одну строку из файла зал.и сразу же завершился мне нужно.перебрать все строки из файла поэтому.мне нужно выстрелить.количество успешных выполнения неудачник.выполнения на случай если пройдет к это.ошибка в большое число.почему в большое число они в количество.строк в файле потому что даже если я.выставлю здесь непомерно большое число.тала скрип все равно остановится от.события того что закончили строки файл и.это произойдет автоматически так что я.могу не считать количество строк реально.количество строк а просто выстрелить что.это большое сюда на эти посмотрю как это.будет работать.сейчас вот проверился первый аккаунт на.скрип продолжать работу при раз автор он.тоже забанил вот сейчас выдалась.сообщение об ошибке и ну это от того что.вот эта страница она выдала коде 404 я.показывал это в обычном браузере и вас.подавитель вот эту ошибку такой статус.ответа 404 он останавливает поток и не.продолжать дальше действия но принципе.такое поведение тоже меня устраивает.потому что поток останавливается разнося.что я кормлю время и что я уже не.работаю с этим аккаунтом но я финики.сейчас покажу как отреагировать на эту.ошибку и как изменить поведение баз в.этом случае а вот последние два аккаунта.а вот этот и вот этот.они как вывести существуют они рабочие и.скрип не сообщил именно об этом и.сообщил правильно давайте исправим вот.эту ошибку с не удалось загрузить.страницу значит это можно исправить.несколькими методами.первый метод это убрать ожидания полной.загрузке страницы тогда действия путь.возмещается мгновенно и ошибок она.вызывает не может не сможет а тогда.нужно будет отдельно выставить.содействие ждать полной загрузки и.как-то отреагировать на статус ответа.но я сейчас делаю по-другому я использую.и действие игнорировать ошибки это очень.часто используемое действие олбанс и оно.означает буквально следующее.игнорировать ошибки и оно означает.буквально следующее если видите что у.этого действия тоже есть внутренний блок.если хотя бы одно из действий которые.помещено в этот блок игнорировать ошибки.при выполнении выдаст ошибку.то поток не завершится о выполнении.перейдет на следующий после игнорировать.ошибки действия то есть ну смотрите.допустим я добавлю еще какой-то.сюда а я сюда а если ошибка произведет.здесь вот в этом действии то поток не.остановится а следующие выполнение.перейдет на текущий урал и ты же самое и.зуб прошивка произойдет здесь и сколько.угодно сложную конструкцию сюда можно.помещать в любом случае мест и.происходит ошибка то выполнение скрипта.попадают на следующий после генерировать.ошибки действием и еще у этого действия.первой ошибки я после того как она.выполнилась могу по специальным.переменам которые были созданы могу.как-то отличить была ли ошибка во время.выполнения трудом или не было ее такой.перемены как раз является переменной в.озеро.если она равна true то ошибка была.если она равна holes значит ошибки не.было.и true force это.нулевое значение а значит это идеальный.кандидат для того чтобы использовать их.действие их так что я беру создаю на вы.новое действие iv и туда помещаю просто.значения переменной сыра добавляю с блок.важно понимать что это переменная на.правильно токов только после блока.игнорировать ошибки той с другом месте.вещь использовалась не стоит хорошо.значит если у нас была ошибка это.означает что аккаунт не существует.давайте я вот так вот выведу это блок.аккаунт нет нет тут а в лс смотрите если.аккаунт.если аккаунт не существует то влог.выведится эта сообщения но a script.продолжит выполнение и дальше а нам.этого не нужно нам нужно чтобы в случае.с раком где существует выполнилась от.это действие лоб и скрипт завершил.работу и можно это сделать просто.перенести весь crypt v раз то есть.смотрите если аккаунта не существует.выполнится только это действие и и все.потому что за их больше ничего нет а вот.если аккаунт существует то пойдут уже.следующие проверки то мы попадем внутрь.блока с ее скрипт продолжит работать уже.будет проверять аккаунт на бан но и жить.и что скрипт наса.получаются такими с большим количеством.вложенных действий я обычно добил.дорогою комментарии в этом случае чтобы.сама потом понять что я проверял что что.делали эти действия вот проверка навозе.рот она проверяет на существованию то.есть опять напишу.проверка на существование аккаунта.а вот в этом их напишу проверкам а.бан аккаунта давайте я прокручу еще.скрипт по действию ты через вот эту.кнопку желтым по всем строку им у нас.получается верен попадаем по.фигурировать ошибки.выполняем загрузить видите что страница.отлично грузится.никакой ошибки то есть озеро у нас falls.значит мы не попадаем в лоб аккаунта не.существует а попадаем другой блок голос.и здесь вот получаем страницу то есть.вторая проверка на.забанен из аккаунта получаем играл и.видим что он забанен значит.вот этот их он возвращает true и лак.водится аккаунт забанен соответственно.аккаунт рабочий поскольку он находится в.класс мы уже не попадаем и скрип.завершатся то эти попробуем еще как.работает скрипт.многопоточном режиме.первый аккаунт он говорит что он забанен.второй аккаунт тоже забанен третий.аккаунт не существует 4 рабочий и 5.рабочие все отлично сейчас я буду.добавлять еще проверки на то если вы.аккаунта твиты и на дату последнего.ответа.и все это будет негативно сказываться на.читабельности то есть вот эти уровне.вложенности а не будет расти и расти и.расти до какой-то неимоверного размера я.хочу немножко исправить наш скрипт так.чтобы сделать его более читабельным.таким образом смотрите если у нас не.проходит какая-то проверка допустим.аккаунт не существует то я могу не.создавать блок с а просто завершить.завершить этот поток совершить поток с.ошибка ведь мы ведь скрипт не может.работать с аккаунтом которого не.существует или забанен им аккаунтом все.последующие действия мне их выполнять не.нужно смотрите это можно сделать.неудача в лог-сообщения а просто в.израиль файл она находится в логике.скрипта и.описание этой функции suicide от.завершить поток с не успешным.результатом.завершения потока это именно та и.действие которое нам нужно в этом случае.и я вместо того чтобы выводить клок.какое-то сообщение буду возвращать его с.помощью с помощью функций файл.я сделаю вот так вот и здесь тоже самое.и смотрите какой нам от этого выбора.шкаф.мы можем избавиться от функции элс нам.уже не нужно добавлять myscript в эту.функцию.видите если я принесу сделаю вот так вот.и уберу блок-хаус.и здесь вот сделаю тоже самое перенесу.все данные и уберу блок ios смотрите.скрип стал намного чище и на самом деле.он делает то же самое он проверяет нас.аккаунт на существование если аккаунт не.существует то вот эта функция она.завершает весь поток и все что за ней.уже никогда не будет выполнено и точно.также здесь если аккаунт забанен то.функция файл завершает весь поток и все.что дальше уже не будет выполнено а то.что находится и здесь я уже могу быть.уверенным что аккаунт не забанен и.аккаунт существует вот так вот мне.кажется намного проще давайте посмотрим.как наш скрипт и куют работать.1 аккаунт делим забанен второй аккаунт.забанен этот аккаунт не существует и вот.эти два аккаунта рабоче согласитесь что.даже красный цвет здесь вместе нe.поскольку в работе с этими аккаунтами.произошли ошибки еще даже сейчас у нас.нет вложенности но все равно как бы у.нас функции main уже накапливаются.отличное количество действий и я люблю.делает так я люблю создавать отдельную.функцию то есть отдельная функция это.просто какие-то знаки раваны и действия.и мы можем создать вот сейчас холм всего.который назовем ну допустим человек.аккаунт то есть проверка аккаунта если.по-русски и перевезти сюда все что.касается проверки аккаунта все что после.парсинга.все что после парсинга все что касается.проверки можно перенести туда вот это мы.создали функцию но иилане достаточно.просто создать ее нужно еще и вызвать.потому что вот функция мои сейчас такие.два действия и как база будет знать что.ему нужно выполнить.функции чат аккаунт да еще и выполните и.после а действия парси строки и перед.действием лоб то есть но и она попасть.не может об этом самостоятельно.догадаться и чтобы вызвать функцию здесь.вот такая кнопка она вызывает действие.вызов функции либо мтс можно с помощью.поиска в море логика скрипта найти это.действие здесь есть кнопка которая.показывает список всех доступных функций.сейчас у нас только одна her аккаунт и я.ее буду пользовать воздействовать.после по строку чтобы перемены username.и password за полом заполнились и после.этого будет проверка на валидность.аккаунта и обратите внимание что даже.если вы заняться внутри функции кто вы.завершится все равно весь поток.давайте этим прокрутим действия в режиме.отладки посмотрим как это будет работать.я вызываю постить аккаунт получается.опять.первый аккаунт который не ступали захожу.в вызова каунта.то есть у меня уже выполнение находится.и мезмай.а вот здесь вот захожу плоти на ошибки.загружая снова twitter здесь проверка на.существование аккаунта для проходит пока.он существует.а вот стара проверка не проходит я.захожу действия файл и вызываю его и тут.уже все поток вине возвращается в love.will main потому что произошла ошибка.давайте теперь проверим как дуть на.рабочем аккаунте.я поменяю порядок строк в файле чтобы.выбрал.лавра сильно первая строка перезагружу.редактор скриптов и попробую еще раз.теперь на полностью варит нам аккаунте.я пашу строку на этот раз этот же бас.автомашин снова захожу функцию снова.загружаю twitter.и проверка на существование аккаунта.проходит текущей играл загружается.проверка на то что аккаунт мне забанен.проходит и сразу же я возвращаюсь.основными в милицию и теперь могу.работать с аккаунтом и теперь я.полностью уверен что он рабочий или.забаню.второй тип проверки который мне нужно.сделать это проверка на дату последнего.твита то есть если она.если твит был сделан достаточно недавно.то мне тоже нужно вызвать ошибку и не.обрабатывает данный аккаунт то есть не.пустить им ничего для начала перед тем.как проверять дату мне нужно все таки.проверить.а вы были у этого аккаунта вообще твиты.и как это сделает но нужно составить.соответствующие select для ответа и вы.зла действия проверить существование.давайте посмотрим как выглядит твит в.разметке.видите первый класс который есть у дива.которые подсвечивается как tweet это.tweet я думаю что именно он и определяют.то являются у данный div твитам или нет.selecta для такого класса составить.очень просто но давайте сделаем.отдельную функцию для проверки для.проверки на дату последнего твита.ford я создал отдельную функцию и здесь.я играю tweet нажимая на примере.существования то есть лектор которые мне.предлагают пас.он конечно же не подходит поскольку.здесь прямо вшит of i did with а.вот кстати второй может подойти я думаю.что 2 подойдет но я сделаю это красивые.сервис сектор который я написал сам.tweet и поскольку это css селектор о чем.говорит вот этот префикс то мне нужно.добавить мне ему ..поскольку все что после точки селекторов.считается названием класса то есть.данный селектор звучит так найти мне все.элемент у которых есть класс tweet то.есть которые фактически являются твитами.вот эти карта количество найденных.элементов как мне подсказывает что it.was это похоже на правду потому что.twitter загружают по умолчанию первые 20.twitter а следующий уже загружает потом.а какие ещё есть у этого действия.параметры есть один выходной параметр.это название элемент название от.перемены которая будет на выходе я не.буду оставлять язык здесь я переменил.что-нибудь более понятно я например.twitter здесь существует ли треть.а вот и давайте проверим как это будет.работает на аккаунте у которых у.которого нет совсем твидов этого места.раунд я перемещу его файла.об самое первое самую первую строчку.чтобы он выбрал слова режиме записи.экой загрузил скрипт здесь вот мне нужно.вызвать эту функцию поскольку я добавил.но не вызвал и я воспользуюсь элементом.меню выполнить до этого действия чтобы.мнение покружить прокручивать действия.по одному грязь на нажимаю то вас.остановится только когда дойдет до этой.функции вот так заходим неё сейчас мы.находимся на первом действии и сейчас.переменную twitter здесь будет записано.какое-то значение это force значит наш.селектор отработал правильно поскольку.этого аккаунта совсем не ответов.следующий этап который нам нужно сделать.это получение даты твита.этого нам снова нужно вернуться к.аккаунту у которого есть вид и потому.что на этом потренироваться не удастся.снова нужно перегружать скрипт и.отлаживать до этого действия.заходим сюда теперь смотрите после того.как мы получим переменной перед таксист.какое-то значение нам нужно искать.да тут и это только тогда когда какой-то.твит есть то есть нам опять нужны.оператор if.и поскольку переменная тви таксистами.тип bool то есть болевые тарда или ложь.то ее просто так можно оставлять без.какой-либо обработки в оператор.их я оставлю этот вид из блока и раз мне.даже не нужен поскольку если твита нету.то мы пропускаем эту функцию идем дальше.то есть тут можно создавать.повтор овне будет я нажимаю ok.и здесь вот вот в этом внутри этого их.не нужно найти каким-то образом дату.дата этого твита ну смотрите тут нужно.смотреть разметку но я предполагаю что.дата может быть где то здесь вот в этом.элементе.поскольку здесь есть дата но не точно я.хотел бы и получить то секу и даже до.миллисекунды.давайте посмотрим что с разметкой в этом.элементе.здесь до вместе здесь есть атрибут do.that time романс и как раз он очень.похож на temps там.то есть это на число миллисекунд начиная.с 1970 года и это то что нам нужно это.что нам как раз нужно получить осталось.составить select a для этого элемента и.получить ответ атрибут с помощью.действия получить от ебут я буду.составлять вектор штанг во первых этот.элемент он явно находится внутри твита.то есть это будет потом.твитам у которого class time стенд я.тоже не думаю что timestream где-то еще.повторяется кроме этого класса и так я.наложу на него нажимаю получить атрибут.элемента здесь опять же 2 селектор.скорее всего нам подойдет но я хочу.сделать красиво я выйграю tweet.а затем его я могу написать вот так.хотелось ложный след к а и после твит.написать его потомок его потом с классом.time стенд то есть вот так вот еще раз.напоминаю что классный сосед трап.создается с помощью точки видите что.подсвечивается именно тот элемент.который мне нужен.то есть реактор составлен правильно имя.переменной sail этот reboot очень.неправильно и не говорит нет ни о чем.поэтому я его заменил на 3d имя атрибута.я скопирую прямо с разметки к.д..time о нас давайте посмотрим как это все.отработала увидите что в twitter.появилась появилась строка акцию с.числом в котором находится от дата 3 там.строка мне не очень подходит я буду.сравнивать.это число с с другими.а че сами и даже прибавлять к нему.кое-что.поэтому страха мнению не годится.я хочу превратить это твитер.числом и это можно сделать разными.способами в четвёртом уроке я.рассказывал как это можно сделать с.помощью функции namba.а сейчас я расскажу как это можно.сделать еще проще с помощью логики.скрипта.увеличит переменной если я выберу здесь.три ted и выберу но то есть не буду.увеличивать вообще-то этот метод.позволяет приметить переменную типа.string переменную типа.нам бы я делала так и видишь тот вид ты.стала надо ну конечно же это может.сделать и литовский хорошор остался.последний штрих нам нужно проверить нам.нужно делать достаточно сложные условия.и проверить on.ну грубо говоря не был летит до боли.недавно и сам добавлю недавно это.вывести ошибку еще один из для этого.понадобятся или вот здесь вот будет наш.и сложные услуга.значит как будем проиграть будем брать.3d.это дата последнего твита.если и прибавим к ней того значения.которая.навел пользователь то есть помните при.рестарте скрипта мы задавали сколько.секунд.[музыка].то есть сколько секунд считать вот.считать что скрипт.был недавно это сколько секунд назад он.был если меньше этого значения значит он.был недавно месте больше значит он был.давно.соответственно нам это значение нужно.прибавлять 3d и не только прибавляться.на мой перевести и одни и те же единицы.потому что это у нас миллисекунда.а это на секунду мы так договорились.чтобы привести секунды секунд и надо.можете их на тысячу и нужно проверить.чтобы это было больше чем время который.есть сейчас время которой я сейчас можем.получить через днк канал это такая.специальная функция java script она.возвращает количество ми ми ре септ.прошедшая сначала эпохи то есть с 1.января 1970 года я конечно могу.сохранить это все в отдельной переменной.ну так вот и зло выражение.мне кажется что даже проще будет я.нажимаю ok и вот здесь вот то есть если.это условие выполняется это скит был.недавно.значит я вызываю файл и пишу что аккаунт.user name.[музыка].добавлю.и поскольку я вызываю все это в ошибке.то если ошибка вызвана все что будет.дальше то есть работа с аккаунтом а.именно поисках они выполнятся не будут.давайте проверим как будет работать вот.эта проверка даты для этого я для начала.создам новый tweet.наш скрипт пока еще этого не умеет.перезапущу редактор скрипта его здесь от.деревни нужно поставить значение.побольше чтоб она не истекло а пока.поток выполняются и я запускаю по идее.поскольку twitter существует и был.выполнен вот 17 секунд назад то должна.вывести из ошибка аккаунт base of the.most недавно dealt with.все правильно теперь попробуем как будет.работать если я удалю.видите сейчас ошибки нету то есть скрипт.отработал прожили и.некоторым пользователям им тяжело понять.как работают эти функции как работает.функция файл.почему она на завершают скрипты и так.далее а вот ремня для этого опасного.добавлен функционал метр с помощью меток.. выполнения скрипта можно переместить в.любое место.смотрите допустим я не хочу использовать.функцию файлов и вместо неё где.использовать функцию log.давайте я только сделал сначала.резервную копию.скриптов и буду работать с ней чтобы.потом восстановить старом итак я заменяю.снизился на сми чулок.здесь тоже самое.[музыка].и stels теперь наш скрипт уже работает.неправильно потому что после того как.выводится локоть и сообщения поток не.завершает работу а продолжает действия.дальше она мне нужно работает с.аккаунтами которые не прошли проверку не.завален и либо не существует как.действовать в таком случае.ну вот вы можете установить метку здесь.действия два действия установили смятку.и 3 клетки то есть устанавливая метку я.как бы оставляет действия которым потом.можно перейти и потом с помощью.из любой части скрипта из другой функции.из мотоцикла элизы условия я могу с.помощью критик метки.приходить к той метке над там где я.установил если установлю метку в самый.конец.прямо так я называю тут могут быть все.русские буквы и я могу вместо файл после.логом просто переходить к этой метке.вот критик метрик здесь можно взыскать.их случае сходны с функциями и одну из.существующих меня так я могу скопировать.на месте где у меня возникает ошибка и.теперь посмотрите как скрипт будет.работать я вам это выберу какой-нибудь.наверно даже этот.чтобы пораньше ловилась ошибка и теперь.когда я захожу сюда здесь у меня взорвал.равно true.это не чай что он стремится рыдала 404.не загрузилась я увожу сообщением в лоб.из участок перехожу к метке.и скрипт завершаются давайте посмотрим.как это будет работать в режиме надо по.точности.эти первые 2 поток.первую второй аккаунт точнее они все.работают в одном потоке и видите что.скрипт работает абсолютно идентично вы.можете даже здесь сделать какой там он.так какие то действия которые вы хотите.совершать при каждой ошибки и тогда вы.здесь вам нужно будет добавить еще один.переход к метке чтобы пропустить их но.обилии меток они хотят они хотя и делают.разработку скрипта более простое то есть.нужно взбираться трети всех функциях и.циклах да и абсолютно все можно взять из.метки и функции и циклы все что угодно.на самом деле для создания скрипта любой.сложности достаточно просто условий метр.так вот функции так вот метки они хотя и.делают разработку скрипта проще а но они.не делают проще.понимания скрипта потому что обилия.метод приводит к такому вот не очень.красивому коду который может котором.можно легко запутаться и не когда их.встаёт там больше десятка то я уже не.понимаю что общему относятся рен теряй.смотри секунд постоянных ветвления и.переходах так что лучше все-таки.использовать вместо метод функции.функции циклы и так далее вот например.если я хочу избавиться от меток и вместо.и тем не менее хочу чтобы по вот этой не.прошедшая валидация выполнялись какие-то.другие действия это я могу создать.функцию one file.и там вот сделать какую то обработку.например писать в репорт в порт аккаунт.который не отработал давайте я буду.делать и сообщения в лоб произошла.ошибка и писать что-то в отчет вы.помните что запись ресурс.а может быть произведена с помощью.действия добавить элемент у нас есть.специальный ресурс для отчета для.отчетности я могу туда записывалась.допустим записывать аккаунты которая не.проси валидацию.но пока criminal узорным на меня не.определено поэтому такая ошибка но при.реальном запуске это будет работать.теперь мне нужно все приходит смерть от.заменить на вызов функции нам за.функцион файл я воспользуюсь поиском.чтобы он не нашел все места где я.вызывала ту метку и.и и я меняю на функцион файл все больше.нигде нету давайте запущу запущу еще раз.kreed да и функции он файл мне тогда.нужно вызывать.завершения потока потому что иначе.скрипт все равно работает неправильно он.после вызова функции продолжать работу.дальше продолжать следующие проверки и.выполняет функционал хотя это лучше.делать не стоит то есть здесь мне нужно.вызвать действия файл.и лоб я удалю.аккаунт не существует произошла шутка.аккаунт забанен снова ошибка здесь вот.все окей и здесь вот всё окей и еще один.забанен аккаунт он тоже clc.ты мы можем посмотреть в отчете.здесь вот аккаунты которая вас от сел и.не окажется.способ с функциями намного более понятен.чем с метками потому что у меня вот эти.действия которые как сгруппированы и.которые выполняются во время ошибки они.все находятся функции не легче их найти.легче изменить и легче их редактировать.давайте доделаем наш скрипт на этом.этапе выполнения когда в лоб лишь.сарканд рабочий мы уже можем заходить в.аккаунт и все проверки предварительные.до этого уже были произведены и заходить.туда можно на вот этой странице.сюда нужно ввести user name.я поменяю селектор вот этот селектору.кажется уникальным для для поля для.ввода логина.так я не запускал действие пошли строку.поэтому и загляни определенного вы.можете убедиться вот здесь вот написано.и username андрей фомин.поэтому мне нужно сделать вот так.и сюда я ввожу текст тоже поменяю.селектор который соответствует паролем.теперь нажимаю на выйдем.здесь есть такое поле ждать полной.загрузке страницы.я же про него много раз рассказывал если.я поставлю не включенным так как есть to.pass завершит это действие клика сразу.же после того произошел клик.но мне же лучше дождаться полной.загрузки в любом случае даже если лайкин.неправильные или саладин правильный то.есть я оставлю вот это поле включенным.видите что мы успешно зашли на аккаунт.но мне нужно каким-то образом проверить.еще ситуацию когда вход туда вход.невозможен то есть сторон неправильный.для этого я возьму.заведомо неправильный аккаунт и буду.использовать его в этом еще раз искрит.здесь вот видите влазит такое сообщение.и я конечно могу просить его.либо привязываться к каким-то элементам.которые есть только на страница когда.вход был успешен.ну допустим там кнопки создать tweet она.из только точно только тогда когда ход.был успешен но я хочу проверить.а какой текущей ural и вот если я смотрю.сюда то вы видите что здесь есть часть.стирал содержит вагина рот и явно она.присутствует только в том случае если.аккаунт.если аканта неправильный пароль и я буду.проверять точно таким же способом как и.проверку в случае оба на аккаунта то.есть там было нырял под строка аккаунт.из пронзить.я просто в конструкторе поменяем.значения поменяю его на налоги народ.скопирую прямо с инспектором и вставлю.сюда.из променяю комментарии.это уже не проверка на банк а проверка.ног правильно вот.[музыка].здесь волк нужно писать не забанен.а не смог войти.и вот эти все действия мне бы тоже не.хотелось захламлять.имея функцию мин поэтому я их все.выделил в отдельную функцию это уже не.только проверка но и одновременно логин.поэтому я назову функции логин и.скопируй все отсюда функции логин и буду.вызывать ее сразу после вот эти первых.двух проверку хорошо давайте проверим.как скрипт отработает.что происходит внутри первый раз.аккаунта cl1 потому что.провалилась попытка входа второй раз.пока он зашел внутрь и бас написал что.аккаунт base of the machine рабочий.третий раз аккаунта не существует и.здесь он забанил вы видите что выигрыш.скорости очевиден потому что завалено.аккаунта я не отсеивается гораздо.быстрее так бы нам пришлось не заходить.хорошо давайте перейдем к постингу.и для начала нам нужно зайти в аккаунт.теперь смотрите твит добавить на самом.деле очень легко нужно просто нажать на.эту кнопку ввести тело цвета в форму и.нажать на окей а гораздо сложнее.проверить до правила сёги нет видна.панель или произошла какая-то ошибка.потому что если произошла ошибка то я.хочу тоже дать знать знать пользователю.о про этом каким-то образом.есть очень много способов как это можно.сделать как это можно проверить.но я предлагаю такой поскольку у нас уже.есть функционал для поиска даты.последнего твита я просто предлагаю.сверять дату последнего твита до и после.добавления нового если они одинаковые.значит произошла какая-то ошибка если.они разный значит соответственно твит.добавился хорошо значит нам нужно.получить дату последнего твита два раза.и я воспользуюсь функционалом который у.меня уже есть я создам новую переменную.назову ее last.tweet болт то есть последняя дата твита.то постинга и установление его уже но.мне нужно какое-то значение по умолчанию.и кроме того я хочу обработать ситуацию.как это об ленте совсем нету твитов.следующим действием я проверяю.существования на самом деле я уже.смотрела разметка здесь похоже так что.классы они абсолютно такие же что в.ленте что в своей ленте тогда вы зашли в.аккаунт что мне эти другого аккаунта.когда вы просто кровати и его страницу.так что если твит существует то мы.получаем.атрибут и записывания street and a last.with old вот так вот давайте проверим.здесь у нас будет такое вот значение это.значение даты для вот этого твита.видите что когда я открыл получить.атрибут элемента мне даже посвятил сама.правильными методами так что здесь.должна быть все правильно и я снова.привожу эту переменную flow к типу надо.если тебя меняю переменной а все.остальные проверки мне в принципе не.нужны они были нужны раньше к функции.черт вид и хорошо теперь нас есть.переменная last with old.и в нее то значение которое нужно теперь.нужно собственно добавить tweet.я нажимаю сюда позже сюда текст.беру вот из.ресурсам track и нажимаю гантер давайте.посмотрим удастся ли сделать через вот.текстом также обязательно нужно выбрать.ждать полной загрузке поскольку нужно.подождать пока твит добавится на.страницу.если этого не сделают то здесь и.завершится мгновенно и моя вот эта.проверка которую я придумал с датами она.точно не сработает она будет всегда.давать всего что есть что произошла.какая-то ошибка а нет enter enter.перевозит строку на следующую.добавлять символы перевода строки.ну и хорошо я буду жать мышкой на кнопку.на синюю кнопку tweet.да и вот здесь как нужно не забыть не.забыть добавить.ожидания полной загрузке страницы а так.теперь у нас есть новый вид и мне нужно.сделать с ним точно то же самое только.записать уезжать переменную last with me.снова проверяем а существования тут.конечно же 36 фунт.получаю timestream уже нового твита за.переменными и конвертирует явно да и на.самом деле даже помести ровать нам даже.не обязательно меня нужно просто спамить.стратег и теперь смотрите что у нас в.этих переменных у нас разное значение и.самое последнее что я буду делать в этом.скрипте.это я сравнил эти значения и если не.неправильно то я вызываю функцию 1 пишу.в блог какой-то отчет и вызвав он сел он.файл.значит используем действия их здесь вот.мне нужно сравнить две переменная вы уже.знаете что сомнение происходит через.двойные двойное равно мерзкие создания в.конструкторе.и мне нужно сравнить два числа и the.last with new.эласт with old и наверно всему этому.нужно добавить блог не потому что я буду.выводить.выводит сообщение об ошибке только в том.случае если нет нужно все-таки я.сравниваю этих на равенство потому что.если они равны друг другу.значит твит остался старый значного не.добавился.да вот так вот правильно and block мне.не нужно и я скопирую какого-нибудь.другого.сколь нибудь другой проверки.вот то что будет в этом их лодки нужно.водить вот так вот минуты широком не.добавил твит и вызова функций landsail.и все.данном случае у меня ок после выполнения.от этих всех действий весь не нужный.функционал реализован я могу только не.писать но какое-то сообщение об успехе.враги.аккаунт добавляющие дыньки.он так и еще то что я хотел бы сделать.это весь вот этот функционал связан с.постингом выделить в отдельную функцию я.назову постинг помещу сюда все действия.и вызову и и вот этом этапе.отлично.давайте попробуем теперь как как будет.работать я выберу delay of 1 потому что.я недавно добавлял tweet.если там поставлю 120 то он выдаст.ошибку я хочу проверить как происходит.пластинку и в режиме запуска я это все.запускаю.потому что хочу чтобы скрипт отработал.для всех аккаунтов.сейчас проверяется аккаунт я сейчас.производится твит аккаунт рабочие.давайте посмотрим что в браузер привет.эти три добавлен a crown добавил твит и.завершил работу отлично сейчас.если придется по другим аккаунтом ну и.будет выдавать там разнообразные ошибки.вот например следующем машенька о том.что лаги не удался здесь будет аккаунта.не существует здесь вот экран забанен и.там снова забанен давайте посмотрим как.будет работать наш скрипт в том случае.если твит не получилось добавить здесь у.нас несколько вариантов мы можем создать.либо очень большой цвет либо оставить.старый tweet.дело в том что twitter не позволяя.создавать два одинаковых поста поэтому.если я ставлю здесь привет один.ток он должен выдаст мне ошибку.давайте смотреть бразилии как это все.происходит.часть происходит вход в аккаунт.создается новый твиты и видите сообщения.вы отправляли такой твит и бас.обрабатывает и на случае правильно.видите что аккаунт.вас автомашин не добавил tweet.но если не смотреть на брата этого.сообщения.ну достаточно не информативно то есть не.понятно какая ошибка произошла что там.было в сообщении от от на это.реагировать туре.вид не добавился потому что ты ли такую.жизнь столе по какой-то другой причине.возможно более серьезным нужно как-то.оповестить пользователя о том что это.привет что произошло это можно делать и.дальше многими способами.но вот у нас есть такая функция он файл.и она называется каждый раз когда.произошла ошибка вот сюда очень удобно и.добавить оповещения пользователя и я.добавлю сюда просто скриншот страницы и.он создал другую папку и пусть сюда.записывается все скриншоты в том случае.если и действие не удалось.для того чтобы сделать скриншот нужно.хотя бы что-то загрузить поэтому давайте.загрузим какую-то страницу.dec.и скриншот можно сделать с помощью.действиям скриншот ног здесь вот водится.селектор а она нужна вся страница и я.уже рассказывал видео раз сектора что.есть коль специальный тип называется но.и вот случайно как раз выбирают всю.страницу для того чтобы тело скриншот.или для кого-то другого и действует.также это тип селектора может быть.полезным для действий java script когда.не обязательно выполнять ситжес на.каком-то элементе.я нажимаю ok и сейчас у меня с.переменной острейшего b64 находится до.напрасны раскрыл это будет долго но.сейчас там находится скриншот формате.b64100:01то есть он закодирован так специально100:03чтобы не отображать здесь бинарные100:05данные и я могу сохранить его файл из100:12действия запись в файл100:14она требует несколько параметров один из100:17которых данные крестовину формате б часа100:204 то есть это галочка она позволяет как100:25бы работает с да и вообще формат т-64100:28вам позволяется работает с бинарными100:31данными вас то есть это может быть100:35скриншот страницы может быть какой-то100:37файл полученной сети когда он не втык100:41стая формате и так далее но и здесь100:44нужно указать путь к файлу100:47твой як вот этой папке добавлю еще100:52переменной user name то есть я буду волк100:58чтобы идентифицировать101:02по какому аккаунту газета чет я буду101:07имя файла просто добавлять имя аккаунта101:10и данное это скриншот 1004 шел вот так101:19просто сейчас папке у меня появляется101:22скриншот страницы101:24я выводил для тестирования потому что не101:30хочу запускать my strict снова101:32а сейчас ход приве легальных условиях и101:35железо поскольку нет работать моделью101:41стару101:44сейчас у меня не один аккаунт не101:46отработает в каждом будет какая-то101:49ошибка и каждый аккаунт будет создавать101:51скриншот я после запуска скрипта могу101:56свободно ружичка тиви там произошли101:59ошибки давайте посмотрим102:15вот часто создался первый скриншот и102:18видите здесь листик fit это что102:21происходит на странице и сообщения об102:24ошибке102:25давайте дождемся остальных аккаунтов102:37вот строка он здесь уже сообщение о том102:41что не получилось зайти здесь скриншот102:45страницы когда102:48аккаунта не существует дерись аккаунт102:51suspended и так далее и эти данные102:56скриншоты или элиту они могут быть даже102:59полезнее103:00иногда чем отчет и последнее что я103:04сделаю это добавлю скрипт надо103:06поточность это сделать действительно103:08очень просто не нужно в количество103:13потоков записать данные из ресурса сам103:19мечами жмите а я создавал ужасу стресс и103:22сейчас будет его использовать теперь во103:28время запуска я выбираю количество103:30потоков ну допустим 5 и у меня счастья103:35действия будет выполняться параллельно103:45видите что эти аккаунты от сервис103:47быстрее всего потому что чтобы хотеть103:50нужно всего лишь загрузить страницу этот103:57аккаунт тоже тело со через некоторое103:59время ну вот этот отсеится самым104:04последним104:14и последний запуск я хочу чтобы твит104:18все-таки добавился104:19чтобы было хотя бы одно успешное104:22выполнение104:52под здесь произошло одно успешное104:55выполнение и давайте посмотрим в104:57браузере давить добавился новый tweets105:00все отлично в этом видео я сделал105:05достаточно большой скрипт его конечно105:07можно еще совершенствовать добавляйте105:10авто входит отключить картинки как можно105:15больше струн запросов можно добавить105:18прокси и так далее но самой сложной105:21часте я уже создал105:23и рассказал вам как это делать на этом105:27все и до встреч в следующих видео

BrowserAutomationStudio. Урок #6. Условия. Действие If. Постер twitter.

Как? Вы еще не смотрели? Ну это зря...