BrowserAutomationStudio. Урок #1. Введение. Автономный чеккер gmail.


41 867 просмотров.

Краткое описание видео: .детство это первое видео из обучающего.курса по образу машин studio.начале видео я хотел бы сделать.небольшое отступление и рассказать о том.что это насос как устроен видеокурс и.что конкретно вы увидите первом видео.уроки для тех кто хочет пропустить.исступления а ему кто то сделать перейдя.по ссылке с тайм-кодом под видео и так.что из себя представляет браузера.автомашин studio.я буду говорить сокращенно бас он.позволяют автоматизировать действия в.браузере конкретно браузере google.chrome.блесна так вы совершаете какой-то набор.действие вас запоминают его.и сохраняюсь проект после этого проект.можно воспроизвести.и base de apa стоит те же самые действия.которые вы выполнили раме при этом.проект можно редактировать можно.перетягивать действия менять их порядок.изменяются разнообразные полях.просто заметили заменяя их значения при.этом создавать и редактировать скрипт.можно прямо визуальном конструкторе.это означает что знания программирования.от вас не потребуется значит можно не.нанимать программиста.не изучают сложные сетевой код или языки.программирования.все это можно сделать пас и с меню.усилиями.еще одна интересная фишка сорта являются.сознание к создание так называемых.автономных независимых приложений это.означает что вы можете передать это.приложение любому человеку и она.запустится не было даже если его не.остановлен барс.итак вас такие возможности вы можете.передать ваш скрипт заказчику или просто.решаюсь его в сети и это будет выглядеть.так как будто вы его сделали на обычном.языке программирования.еще я хотел бы рассказать о магазине.приложений и затыкаясь еще которое.позволяет зарабатывать на бас.независимым разработчикам не вкладывая.при этом 5 и либо средства вы создаете.скрип загружаете его в магазин и он.встает и доступным покупки любому.пользователю бас сайт забирают всего три.суд процент от вашего дохода а остальные.деньги вы можете вывести удобным для вас.способом.вас содержит ещё множество интересных.фич и многие из них будут рассмотрены в.следующих видео.но я бы хотел отметить еще 3 1 это в.стране язык программирования java script.на котором вы можете задавать сложную.логику и сложное выражение и они будут.выполняться вместе со старыми действиями.вы даже можете находить скот в интернете.и вставлять его в бас и он будет.работать там как в обычном браузере и.даже если вы не знаете java script вас.поможет вам составить сложное выражение.с помощью визуального конструктора и.притягивания блоков это он будет.посвящено отдельное видео еще одна.интересная особенность это.многопоточность.с помощью бас действительно очень легко.сделать ваше приложение многопоточном.заменив всего лишь несколько параметров.и последнее это цена аббас вы можете.получить большинство фишек софт.абсолютно бесплатно.возможность создавать сколько угодно.бота с каким угодно количеством потоком.абсолютно не платя за это вас так же.имеют открытый исходный код.так что возможно изменяюсь проведение.состав.добавляю туда новые фичи самостоятельно.но актуальным сходный код доступен.только премиум-пользователям это.означает что публичные пули торе и.обновляются не постоянно не после.каждого апдейта.премиум версия может стать очень полезно.тем людям которые хотят продавать.приложения потому что она позволяет 5.исходный код приложения более того она.позволяет запретить использовать скрипт.тем кто не заплатил за него также она.содержит удобный менеджер лицензий с.веб-интерфейсом и еще много интересных.фич среди которых профессиональная.поддержка от разработчика я обязуюсь.отвечают на все сообщения по почте и по.skype.течение 2 рабочих дней для апреля у.пользователя я немного рассказал о софте.и теперь давайте рассмотрим видео уроки.видео курс будет состоять из 25 уроков.18 из которых доступно бесплатно и 7 из.которых доступно только премиум.пользователю.каждый урок будет содержать информацию о.какой-то.отдельно конкретной счастье вас например.бункеров по спискам будет отдельно робко.многопоточности работе с файлами метками.и так далее каждый лгу снабжал.множеством примеров я очень люблю когда.тебе придется миф сравнить я остыть и.metar наглядными демонстрациями когда мы.можем применить знания на практике.теперь по поводу этого первого урока.видения он будет посвящена общем.описание интерфейса здесь будет всего.посещать если вы опытный пользователь.просто вам скорее всего будет не.интересно но если вы новичок то вдруг.может здорово вам помочь разобраться как.устроен соус ну в общем начать с ним.работать будет рассмотрена каждая.вкладка я подскажу разнообразную минут и.нажимаю на кнопки и расскажу принцип как.работает как конструктор создании.скрипта.сделаем некоторые действия в браузер и.даже создам какой-нибудь простенький.скрипт который загружает страницу делать.скриншот получается ее код и так далее.хорошо давайте начнем знакомство состав.вот так вот выглядит основной интерфейс.программа после запуска.вы видите что он состоит из нескольких.панелей.но я расскажу об этих панелях чуть позже.сейчас я бы хотела обратить ваше.внимание на кнопку запись в центре.экрана.видите что софтовое чтобы создать и.отредактировать скрипт нужно на нее.нажать.после того как вы нажали на кнопку.запись появляется.редактор скриптов то есть если вам нужно.отредактировать скрипт.добавить туда рукой то функционал что-то.там поменять как то ли вам обязательно.нужно нажать на кнопку записи и зайти в.редактор скриптов.doctors keep the состоит из 3 панелей.панель которая съела панель которая.сверху и панель который снизу я сейчас.расскажу все начну с верхней панели.верхняя панель содержит список действий.что такое действие действие это какая-то.элементарная задача которого может.выполнить паз и примером действие может.служить загрузка страницы вот текст.установка прокси и так далее верхняя.панель она содержит все действия которые.может выполнить bass ну точнее почти все.есть еще действия которые находятся.непосредственно в браузере но я не скажу.чуть позже когда буду писать нижнюю.панель это панель и они действия они.разделены на бот или можно сказать.скульптура вану есть например модели.браузер он содержит все действия по.работе с браузером есть моды логика.скрипта ожидания почта и если я сейчас.нажму на модуль почта то появится все.действия которые читают почту.но давайте зайдем отель браки внутри.находится небольшое описание модуля и.ссылка с помощью которой можно вернулся.на предыдущем меню и список действий до.панели можно заразиться и еще сделаю.верхнюю панель побольше для наглядности.и такой небольшой хинт что если вы.интерфейс исходное состояние то вы.можете сделать это через меню интерфейса.вернуть исходное состояние он хорошо вы.видите список действия что можно с ними.делать их можно выполнять и добавляются.на панели редактора сценарий сценария.редактор сценария эта панель которая.находится съела левая панель и здесь.находится список действий пока скрипт.пустого и и ничего не выполняют есть.только одно действие инициализация но.последствия здесь минута лица разных.действиях причем сохраняя такой список.это очевидно чтобы потом можно было его.повторить повторить отредактировать и.так далее вверху панели.редактирование сценарий есть четыре.кнопки они очень похожи на кнопки.обычному плеере например кнопка play.запускается сценарий и выполнять.действия последовательности.последовательно одно за другим есть еще.а кнопка которая выполняет только.следующее действие есть кнопка который.останавливает сценарий или перезапускает.его справа находится еще ты про метро но.они связаны смотрел по точностью и я.расскажу о них отдельно воротам снизу.есть панель которая редактирует функции.действия они могут быть скопированы по.функциям что такое функция вот это очень.легко объяснить на примере допустим есть.функция входа на фейсбук.и она содержит несколько действий.например клик по крик по полю вот туда.текста.клик по кнопке ok и так далее проверка.того.правильный или неправильный логин и то.есть функция это такие штуки которые.могут сделать ваш скрипт более.структурированным и более наглядно.еще функция можно поливать друг друга.можно да можно просто вызывать несколько.раз тем самым небыстрый а кот и так.далее но опять же функция будет посвящен.отдельный урок сейчас я просто.заполнение что все что снизу а ног.относится к функциям.есть еще.нижняя панель и сейчас вы видите внешняя.панель и просто стартовую страницу.но вообще нижняя панель находится.браузер и я хочу показать вам как он.выглядит и как с ним работать для этого.я использую действия загрузить я выбираю.его на верхнюю комедию и просто кликаю.по нему.но недостаточно просто кликнуть потому.что можно сказать загрузить что то есть.нельзя просто сказать.загрузив что-нибудь вас нужно указать.какой именно играл какой адрес страницы.выходите чтоб загрузился в браузере и по.клику на действия открывается редактор.действия.редактор действо может содержать.несколько параметров но сейчас вот для.действия загрузите сколько ей про на это.играл.а также вот действенного кнопок пока не.смотрите вниз я объясню их значение.позже сейчас просто запомните что у.каждого действия может быть могут быть.параметры под действием обязательно идет.его название и две кнопки ok и отмены.про это меню я тоже расскажу про же я.убирал странице которой я хочу загрузить.данном случае также мелком и нажимаю на.кнопки и сейчас происходит несколько.действий первое это действие джамал было.добавлено загрузить чем л было добавлено.на.в редактор сценария второе это появился.браузер то есть была выполнена это.действие в результате чего стартовая.страница браузера сменилась на странице.джимайл.я сделаю browse побольше чтобы лучше.было видно но на самом деле это не.совсем обычный браузер.то есть для сайта вам видео как обычный.браузер но для вас не совсем для.разработчика скрипта что это означает ну.во первых вы можете заметить что когда я.двигаю мышкой то подсвечиваются.элементы которые которые находятся под.днищем под курсором и по я не могу.просто взять и нажать на кнопку next и.браузер не отреагируют на это я не могу.ввести текст.вот я должен по клику на какой-то.элемент появляется контекстное меню.вот она и она содержит все действия.которые можно выполнить с этим элементом.здесь есть кликнуть на элемент.двигать мышь и кликнуть на элемент.скриншот.решить капсул если это ковша и.разработчик.он должен выбрать одно из действие при.должных в этом меню.чтобы как-то взаимодействовать с.элементом в данном случае я хочу.кликнуть на нему на него поэтому я.выбираю.двигать мышь и крепим на элемент и я.хочу заметить что действия которое.появляется в контекстном меню.они точно такие же как и действия.верхней панели вот этих вот модули из.песка в действие они точно также имеют.параметры они точно также добавляются на.панель scenario.единственное что каждое такое действие.она прикреплена к кому-то элементы.ну и опять же у каждого из этих действий.есть параметр.данном случае у действия 9 мышек этот.элемент достаточно много параметров ног.работаю по каждого этажа них не смотрите.если просто нажать утилита у вас делают.то что в принципе вы от него ждать или.придвинется курсор и кликнуть на кнопку.next.давайте нужному тени и а также вы видите.что первое что произошло это добавилось.новое действия на панель редактор.сценария.из строя что это действие действительно.выполнялись браузер.вот чем я дал ошибку но это из теста.потому что были.почты и просто нажали на никс.так что здесь все правильно.обратите внимание что на край находится.два курсора 1 курсор системные а второй.курсора принадлежит панели браузера вас.сохранят координаты браузера координат.курсора и отображают его с помощью.стандартного значка теперь я хочу ввести.свою почту в это поле.делается это практически также самокате.нажатии на кнопку я выбираю элемент с.которым хочу произвести действия.нажимаю левой кнопкой мыши появляется.меню а туда и выбираю вот текста и ввожу.параметры параметров здесь много но меня.интересуют только текст для ввода.я добавляю сюда свою почту и нажимаю ok.а также происходит два события первое.мои действия выполняются второе.добавляется действия добавляются на.панели доктор сценария.сейчас там находится три действия.загрузить двигать мышь и кликнуть и ввод.текста.но как видите они расположены не в том.порядке вот текста.правильно поместить между загрузить и.двигать мышь и крикнуть я сейчас.перемещу его.и это можно сделать несколькими.средствами.первое это наверное не самое простое.но тем ни менее выделить вырезать и.вставить это похоже на то как работают.обычные текстовые редакторы или другие.программы.чтобы выделить действие all pass нужно.нажать просто нажать на него левой.кнопкой мыши видите появится такая.иконка которой означает что действия.выделено.также это можно делать с помощью рамки.можно быть я сразу несколько действий.и обратите внимание чтобы добыть или.действия то изменяется количество.выделенных действиях на панели сверху.понять сверху оно очень похоже на панель.которые действо многих программах.она содержит кнопку копировать вырезать.вставить выделить все очистить выделения.и есть еще кнопки связанные с историей.тыс можно отменить действие которое вы.сделали или наоборот прокрутить историю.вперед сейчас нам нужно нужна кнопка.вырезать но если я я сейчас просто нашим.устами то действия добавится туда же где.оно и было ничего не изменится нужно.как-то показать спас какое место я хочу.вставить действие для этого существует.индикатор вставки вот если вы посмотрите.это такой прямоугольник с любыми краями.который посвящен красных и.это активные индикатор вставки есть.также неактивные они подсвечены серым.сделать синди которых сюда можно очень.просто просто нажать левой кнопкой мыши.и теперь я нажму кнопку вставить.то вот текста будет перенесён на второе.место.кстати индикатор вставки работают и для.действий которые были добавлены и из.верхней панели теперь я хочу проверить.как мой скрипт работает и для этого где.нужно нажать на кнопку play.но сейчас они активно она не активна.потому что не активно . выполнения.что такое . выполнения это то действие.которое вас будет выполнять следующим и.как понять где она.это можно легко сделать если посмотреть.на действия и возле.активной точки выполнения будет такая.вот красная стрелка также можно очень.просто перенести . выполнения просто.подводите мышку к действию и нажимайте.на эту стрелку вот сейчас на была.перенесена начали и явится что кнопка.play.стала активным хорошо я сейчас запускаю.и вот эти три действия будут выполнены.подряд страница загружена в поле было.виде на почту и наша кнопка.ещё я хочу сказать что а поменять.местами действия можно образом проще это.можно делать просто с помощью.перетягивания в атаку.существует возможность редактировать.действия допустим я взял почту как сани.так и где-то ошибся или хочу поменять.элемент на который нужно кликать и для.того чтобы отредактировать действия.нужно кликнуть 2 раза по нему.когда я открываю действий для.редактирования то отображаются.редактор действе и съела появляется.панель которая позволяет добавить.некоторые дополнительные штуки которые.позволят сделать клип более читабельным.это могут быть комментарии изменить цвет.действия и так далее я хочу поменять.почту и добавить единицу в конце я.редактирую по митр тех завода и нажимаю.ok и вы видите что раз скрипте что скрип.поменялся второе действие изменился.разнообразные операции которые применимы.к действиям доступны через контекстное.меню здесь есть и редактировать удалить.и переместить точку выполнения.посмотрите теперь на последнее действие.человеку который не принимал участие в.создании скрипта может быть и очень.понятно на какой элемент происходит пик.зачем происходит что вы вообще делает.это действие и чтобы повысить читаемая.скрипта вас позволяют прикреплять к нему.комментарии делается это при помощи и.редактирование видите что съела есть.поле описание задания и я могу ввести.сюда абсолютно любой текст.это не повлияют на функциональность.приложения это только информацию для.разработки.ягоды сюда нажимай на нас тут.комментарии также могут быть.многострочные ее более подробными просто.вот я нажму кнопку key это действие.изменится внутри него будет помещен.комментарии нажимаю на бегством пас.также позволяют искать элемент по.изображению для этого нужно переместить.курсор к нижней панели панели браузера и.зажать левую кнопку мыши и с помощью.заданные рамки выделить то изображение.которое нужно искать на странице.снова появится контекстное меню с.некоторым там будет меньше элементов но.выбор.движении мыши и клика останется я нажму.на него и снова нажму науки.видите что снова произошел клик и.элемент в действиях которые ищут элемент.по изображению.внутри них есть изображение с для поиска.отличие от обычных действий у которых.есть только текст я уделю старое.действия и оставлю только новое выделю.старый нажму дэвид.я хотел бы рассказать про еще одно очень.полезное действие это действие лог она.также позволяют повысить.считаем ее скрипта она находится в.модуле.из 3 модель инструменты и содержит.только один параметр данные для ввода.зачем оно нужно это действие позволяют.позволяет быстрее находить причины.проблемы позволяют сообщает пользователю.о том что происходит внутри скрипта ну.вот например ваш кредит на фейсбук и.отсылает сообщения в этом случае вы.можете после того как загрузилась.страница facebook записать влог.загрузил фейсбук после того как вы зашли.на фэйсбук на касается шоу на фэйсбук.после отправки сообщения написать.сообщение отправлено либо сообщение не.отправлено.и если ошибка произойдет красное время.выполнения скрипта то вы может быть не.сразу поймете где она произошла.а вот если у вас будет лоб и то вы.можете сказать что ошибка допустим было.при атаке сообщения или припали на.фейсбук и так далее это особенно полезно.при больших сценариях вот сейчас я.добавлю лук но у меня всего три действия.это может показаться даже излишним.но тем ни менее большие скрипта это.очень и очень полезно ну я вел свою.почту и нажал на next.поэтому я добавлю бог вел почту.нажимайте добавляются действие и в.нижней панели а панель black добавился.текст который я написал действие но.добавился с этими дополнениями.их всего три первое дополнение это номер.потока.я разберу это более детально в рока про.многопоточность трое это локальное время.и третье это айди сообщения найти.сообщения.это очень полезный механизм для отладки.ошибки.то есть блок водится не только сообщения.через действие лог но и ошибки и каждой.ошибки я прикрепляется ее айди она.водится вместе среди.ну допустим да грустью какой-то страницу.и кликаете на какой-то элемент внутри.этой странице и скрипт у вас работает.все хорошо но вам через некоторое время.этот элемент исчезать и если бы не.выводилось сойди сообщения то у вас бы.просто писал ну какой то элемент не.найден.а когда уводится айди вы можете сразу.точно понять где проблема и сразу.начинать править и изменять свой скрипт.по клику на айди просвечивается действия.которое вывело которая вывела сообщение.в блог.вот если я сейчас нажму сюда.то повеситься действий лук другим.способом которым можно найти сообщения.по его эдик есть поиск поиск.открытия меню поиска можно нажав на вот.эту кнопку сверху справа на панели.редактирования сценами тут все очень.просто это же похожи на другие программы.только можно вести.текст для поиска я видишь дойди.сообщения и увидите сразу что как только.я бывал внутри действия лоб подсвечивать.его идеи желтым.однако можно нажать и на поиск и в этом.случае все действия по от светятся и.если бы мой скрипт.имел очень много действий то.редактор сценария пробить его было не.знаю dota того места чтобы показать.действия которые я ищу и в поиск можно.вводить не только.айди можно также вводить какие-то.параметры действия вот например я хочу.найти все действие которое работает.сжимая.я ввожу сюда джимайл просвечивается два.действия или я могу вот так вот и стать.еще одно действие которое очень полезно.и которая касается вывода информации от.их действий результат ну вы можете.сказать зачем это нужно да и есть.действия log но это может быть поездка.он слушает если.взрыв не хоть и стал отрицать добавочных.стол ну допустим вы регистрируете.аккаунты на каком-то сайте и хотите.вывести их съел успешной регистрации и.фаул.и чтобы это было видно интерфейса баз и.сделать это можно с помощью действий.результат ну а красивые будьте в одессе.того кто действо могут смешаться с.какими-то другими действиями.а вам нужны только аккаунт действие.результатами два параметра данная это.очень похожи на данный для ввода и слово.здесь опять же любой текст и нами.результатами результаты соответствуют да.и скатываются все сегодня вкладка клубов.номер результата сгиб соответствует.одной из вот этих складок под складок ну.я выберу первый это означает что вы не.сообщения седане как только я нажму.активен здесь появится результат я удалю.диски результат поскольку она нам больше.не понадобится и я не раз рассказывал.что у действие есть параметр.у многих действий у большинства есть.параметры но те параметры которые я.показывал который использовал они были.как бы входные metris они передавались в.действие это мог быть сыграл страницы.которые нужно загрузить или элемент.который нужно найти однако.действия и могут и возвращать данные то.есть это те данные которые.действия получит результате своей работы.ну например действия получить код.страницы.получают этот код код страницы и она как.то должна вам вернуть вот этот текст и.каждое действие выходной параметр у него.является переменной что такое переменная.переменная это какое-то название для.данных внутри скрипта пока это хранилище.ну вот я приведу пример допустим с тем.же получением кода страницы вы можете.сказать ну пусть код страницы водятся в.лоб пользователь увидит и хорошо но.допустим если мне нужно как-то.обработать код страницы проверить если.там стоп-слова.проверю значения какого-то поля.выполнить expose на нём что-то еще.сделать какую-то логику в зависимости от.того есть ли в поте странице какие-то.слова или нет вот для этого и нужна.переменная.сейчас я покажу как это работает я вел.почту и такой почте не существует с на.сайт вернул мне сообщение об ошибке и.запущу получить текст этого сообщение об.ошибке и нажимая на элемент и выбираю.действия получить текст вот как раз это.действие и содержит один выходной.параметр это он называется переменная в.которой сохранить результат то есть.сохранить себя текст этого элемента.переменная ади вы можете назвать их как.угодно но есть некоторые ограничения во.первых это должны быть латинские буквы и.латинские буквы верхнем регистре то есть.большие буквы и пас предлагает сразу.названия которая более-менее вменяемость.совет текст да я не рекомендую называюсь.переменная.как-то очень просто потому что вы можете.запутаться.то есть плохая идея назвать переменная 1.b 1 c 1 лучше назовите их так чтобы.потом считаю скрипт вы могли понять что.они означают ну допустим я могу назвать.эту переменную error.локинг аккаунт и нажимаю ok.то есть даже если вы не выбрали.специальные имя действуя равно будет.работать но я сделал это для удобства.нажимаю ok вот появилось новое действие.и в нем увидите такое сначала к стрелку.стрелку вправо и переменная такое.обозначение был часто встречаться для.действий у которых лес выходные.параметры.но как нам посмотреть значение этой.переменной как посмотреть значение вот.этого поля для этого нужно зайти.инспектор перемены.инспектор переменной доступен повод этой.кнопки жуком находится в правой нижней.части панели редактирования скрипта.нажимаем сюда и сейчас у меня только.одна переменная и.это окно содержит переменную и ее.значение.если бы у меня было несколько climene.октава все бы они вывели здесь хорошо.давайте как-то.используем эту переменную но самого.простого и что можно сделать это вывести.ее в мог раньше я описал в этом понял.просто какой-то текст.сейчас же я хочу использовать переменную.под мету сделать.обратите внимание на вот это меню.которые выпадают.такое меню есть абсолютно в любом в.любом входном параметры для действий.и третий пункт здесь.из переменной нажимаю сюда и здесь нужно.выбрать переменную которую вставить в.это поле сейчас на выбор дается 2.переменная цикла или яндекс и.ту которая только что создал сайт яндекс.он это переменная которая существует в.каждом скрипте аббас добавляют и и.автоматически и вы не можете от нее.избавиться.ну я выберу ту которую хочу вынести.veter что в поле появилось название.переменной в квадратных скобках.когда вас видит что-то квадратная скобка.вдвойне парад насколько она считает от.название переменной и пытается найти ее.и поставляют заменяют на размещение.которые сейчас имеют переменным я хочу.завести легче вывести блок сообщение об.ошибке и нажимаете.видите что в логе добавилось сообщение.ровно то которое было на сайте и это.которые есть перемена.и ещё я хотел бы сказать что в поле а.можно выводить не только перемену но.можно добавлять до какой-то свой текст.например я добавлю текст сообщения от.сайта.и возьму в кавычках вас поймет и так он.заменит то что есть двойной квадратных.кавычках на значение переменной нажимаю.те.но ничего не происходит это потому что я.отредактировал действия но еще его не.запустил чтобы запустить его нужно.переместить . выполнения и нажать play я.рассказывал об этом раньше сейчас мы.видим новое сообщение с дополнительным.текстом но переменная у них есть такая.особенность вот они даже называется.переменная от того что они могут.меняться и это что сейчас беременность.переменной ролл один аккаунт находится в.сообщении которое получили с сайта.совсем не означает что в другой части.скрипта она будет точно таким же.и переменная можно задавать с помощью.специального действия которое находится.модуль от логика скриптов установить.переменную здесь есть имя переменной а.здесь два параметра входных имя.переменной и значение переменной имя.переменной а можно задать какой угодно.но можно выбрать уже существующий потому.же диалогов который я показывал ранее я.выберу переменную которую я создал.и виду сюда новый текст.нажимаю ok и сейчас увидите что вы.инспекторы перемен на этот значение.переменной уже поменялось стало другим.если я теперь использую ног то он выдаст.совершенно новое значение сейчас я ударю.действие установить переменную и.расскажу еще о некоторых возможностях.интерфейса bass обратите внимание на.панель про обзора у нас держит 8 кнопок.справа внизу это кнопки которые помогают.кроме страницу верх низ лево право но.так как санджи mail полностью помещается.в окно браузера то инвестировать свободе.эти кнопок на этом сайте меня не.получится.однако если зайти на сайт который имеет.большую высоту например гауком то эти.кнопки могут оказаться достаточно.полезными.кнопку которая находится самом низу она.позволяют скроле страницу полностью вниз.и.самом верху соответственно скроемся.страница полностью вверх еще есть кнопка.отсоединения окна редактирования это.если она не и нажму то можно отсоединить.за толкнул так чтоб она так что.призывало мало полный наклон и если я.нажму по второму туру интерфейса гнется.и исходное состояние есть ещё кнопка.настроек.она содержит глобальную настройку для.сценария следует также сказать что при.создании сценария ты намного бота эти.настройки они сохраняются и приходят в.автономном к этому борту то есть.например я выберу здесь использовать.flash что и.работ сможет использовать ваш эти.настройки они могут оказаться достаточно.полезными.здесь есть использование кроме.использования flash и есть еще.возможность отключения и включения.выбрать i see the base это очень.полезная настроить или анонимности есть.настолько пропуска drove.это на свету которая помогает сократить.нагрузку на процессор остановок скриптов.естественный вид здесь например.что-то вроде 60 или 70 это количество.просто на времени которые используют.криптоса ближе многопоточности может.быть значительно уменьшена.есть еще настройка перезапуска потоков.она позволяет полностью очистить себя.данные браузера между потоками и удалять.даже такие вещи как и воркуте с который.в общем сложно у делиться с обычного.браузера есть эмуляции движения мыши.если исключили то мышку двигаться по.прямой и стимуляция восстановление.соединения.есть настройка установление соединения.она позволяет загружаем остине сна.плохих прокси тайцы 100 прокси.то работает то нет то это настолько.может помочь при работе с таким propsim.с сайтом.посмотрите на верхнюю панель это панель.со списком действий здесь есть тоже.очень полезно понял поисков если вы.забыли spy cam модуль ему хочется вашим.ты действие то его можно носить просто.по поиску я щас попробую найти действия.загрузить видите что поиск выдает.действия которое находится могила.browser также выдаем твое действие.загрузить cookies я набрал взрыв этапа.клиента.также поиск выдает тира ссылки на видео.и ссылки на статьи.идите что также может быть полезно есть.еще две кнопки которые могут отменить.ваше время эта кнопка закладок сюда.можно нести действия которого.использовать чаще всего и вам не нужно.будет чтобы выпустить это действие.переходите.ним модуля или пропущена странице если.много нового много действий я поместил.себя локи загрузить вы можете добавить.от меньше действия прокси если вы хотите.убрать это действие закладок можно.перетащить его в корзину действия кнопка.панели истории история это те действия.которые я это несколько действий которые.я использовал.последними но это по аналогии с обычным.браузером.история загрузка загрузки страниц и.конечно же история леса кладки.сохраняются.между перезапуском скрипта.на данном этапе у нас есть достаточно.простой скрипт.давайте я попробую запустить его и еще.раз показать как он работает только.ударю сначала страница загрузку яку.действия выполняется по порядку.загружается с принцем.выводится почта нажимается кнопка next и.видите что вводится пустое сообщение.хотя это не так и это очень.распространенная ошибка я щас расскажу.почему она произошла и как ее исправить.вот посмотрите на эти действия.производится клик потому водится лог.получается тексты водится снова лоб вот.эти сообщения они практически мгновенно.или происходит очень быстро и за это.время.сервер еще не успевают вернулся ответ.если такую если какая почты или нет и.есть несколько способов решить эту.проблему самую мире на очевидный и.простой это использовать действия сон.действия сонно она.а просто в течение времени не заданному.разработчикам ничего не делает просто.спит это действие находятся модульные.ожидания и давайте поставим 10 секунд до.если действия выполняются слишком долго.вы можете нажать на кнопку и всегда.становиться мог правда . выполнения она.потеряется ее нужно будет быстро.восстанавливается устанавливаться на.я запущу стоит еще раз.и сейчас вот происходит сон дескать.и вы видите что вас окунулся в него.исправимо сообщения.а кстати сообщение взвода можно.почистить через вот это меню очистить.лук но действие сон она очень оптимально.то есть я поставил 10 секунд но на самом.деле сервер может думать и дольше он.может думать.меньшее количество времени допустим он.решит эту задачу.найдет почту всего за 30 секунд а с.комедиями с половиной минут скрипт будет.просто находиться бездействия так что.это не очень оптимально кроме то вопросы.могут быть плохими и допустим загрузка.картинки не сможет за 10 секунд.поэтому есть другой способ.в этом же мод или бездействие ждать.полной загрузке я перемещу.индикатор ставьте чтобы она добавила из.после.logo это действие она не принимает.никаких программе содержит достаточно.сложно удивительно чтобы определить.зависело страница или нет это действо.она реагирует не только на полную.загрузку страницы.перезагрузку но и на какие то сетевые.запросы она корректно работает слушать.потоковое видео и допустить сетевого чат.или каких-то других я добавлю его.и она будет ждать гораздо меньше чем.десять секунд давайте снова попробуем.построить наш скрипт.пофиксите на этот раз сел завершилась.намного быстрее и последний третий.способ это место того чтобы добавлять.цветного и действия анапана редактирован.из нога.мы можем просто от эффективность.предыдущие действия и если после него.требуются ожидания полной загрузке.страницы то вот эти частники диски и.боксировать то это абсолютно тоже самое.что если после этого действия поставить.действие ждать полной загрузке страницы.но скрипт выглядит поле там папка.я запущу его еще ну чтобы убедиться что.все работает.витя что скрипт остановился уже здесь.прямо на этом действии и снова вывел.правильное сообщение мог пошел у нас.есть скрипт но до сих пор мы запускали.его только в режиме отладки то есть и.сильные редактор скриптов.это может быть действенное может быть.хорошо но это не лучший способ запускать.скрипт потому что скрипт может быть надо.по толщина редактор сколько поддерживает.только один поток и он делает некоторые.паузы между действиями которые.необходимы чтобы организовать закладку.поэтому лучше всего запускать скрипт.режиме.так названием режиме запуска я сейчас.покажу что это такое для того чтобы.запустить скрипт режиме запуска нужно.нажать паузу этой кнопки запуск но.сначала нужно остановить режим записи.которые мы вас именно.нажав на вот эту кнопку это может.сделать из кнопку остановись.теперь нажимаем на кнопку запустить.таракана уже активно и скрипт работает.единственно что не показывается.весь этот редактор скриптов с действиями.и всем остальным но если вы посмотрите.на лоб то он снова выводит и то же.сообщение то есть в действительности вы.не видели этого но он каким-то образом.отработал и решение запуска есть такая.особенность что на панели появляется.список всех браузеров которые открыты в.разных потоков.и их содержимого можно посмотреть просто.нажал на эту галочку появятся отдельное.окно для каждой браузера масса лег и вы.видите что здесь отображается пульс он и.содержание браузера и нигде больше.элементов только это и там оптимизирует.использование иисуса в такой режим он.намного быстрее и намного меньше.потребляют памяти процесс молве mini-sim.режим записи существует такое понятие.как.отчеты вас предоставляют отчёты после.выполнения скрипта.я сразу же закрыла чет не успел.рассказать что это такое но если запущу.скрипт еще раз и даже про советскую.более детально.скрипт завершился и появился а тет а тет.такое окно в котором выводится сообщение.об ошибке и время работы.если какие-то потоки работают.неправильно или выводит что то нет а то.этот отчет помогает обнаружить где.ошибка то есть это 58 мощный инструмент.для отладки и здесь же есть помимо.сообщения помимо сообщения об ошибке.иди действий которые совершили ошибку и.также сообщение об ошибке они.отсортированы по частоте появления.то есть если какое-то сообщение.продаются допустим тысячу раз то она.будет сверху отчета.а если она проявляется всего один два.раза на протяжении нескольких часов.работы то она будет перемещена вниз как.незначительно давайте заведомо.отредактируем наш скрипт и сделаем там.ошибку чтобы посмотреть как оно.отобразится в отчете.я нажму на кнопку записи и тем самым.снова при видели перейду в режим отладки.и вместо страницы и сжимаем выберу.какой-то.заведомо несуществующее ural допустим.добавлю много букв в конце.и попробую запустить скрипт снова видите.он сразу же выдает мне ошибку и а отчеты.я уже могла определить что пошло не так.я могу признаться де ошибки.это для ног но есть ещё такой момент что.некоторые параметры скрипта.а вот сейчас на скрипт он проверяют.почту.проверяют почту на нынешние в базу.немало но что если допустим пользователь.захочет проверить другую почту или.допустим если вы заходите на facebook то.вы же не можете введите данные.пользователя данные аккаунтов скрипт а.что если пользуюсь допустим изменить.пароль то вам придется переделать весь.клип теликов.но для этого у вас есть так называемый.механизм ресурсов он позволяет.режиме запуска и в режиме записи.спросить у пользователя допустим.какой-то елагин звук или а сколько.потоков ты хочешь работать или какое.сообщение ты хочешь отправить другому.человеку и так далее так что скрип с.иисусом не он стает как было.универсальным то есть туда можно.поставить разные параметры и давайте.вместо почты.я подставлю ресурс для этого нужно.перейти на панель которая находится.справа и здесь вот есть кнопка создать.новый ресурс я когда я нажму появится.диалог там путь много вариантов и вся.недуг рассмотренную в отдельном уроке по.ресурсам сейчас я хочу просто показать.что то что такое вообще существует и что.возможно задать параметры пользователя.он есть я нажимаю ресурс и.нужно сдать вагина можно писать описании.написано по русски.саня по-английски.есть множество типов ресурсов в том.числе из файла и так далее но я щас.уберу просто строку поскольку земля это.строка.значение по умолчанию я оставлю пустым я.хочу чтобы пользоваться не сам вел.строку и наверно выберу эту балочку.строка не должна быть пустой потому что.он я хочу чтобы он вел хоть что-то.нажмете ресурс создался мне нужно нажать.только на финиш явится что кнопка.перезапуска мигают это означает что.после создания ресурса нужно обязательно.перри запустить редактор смита.иначе он и подхвате он не будет видим.эту белую и и теперь вы видите что.редактор скрипта не просто запускается.она просит ввести почту и увидите вот.этот красный значок.он здесь присутствует потому что я нажал.на валидацию мне нужно чтобы.пользователь мог хотя бы какую-то почта.и.какую то тоже почту которая существует.сейчас нашел салидо ции сейчас я нажимаю.ok.иисус подхватился но я бы еще хотела.сказать про это меню она позволяет.первое это выборы стандартными.значениями связь с нажмут а поскольку.стандартным значениям для поля почты.являются пустое значение то поле.очиститься.я не хочу это делать можно сохраняться.загружать настройки.если настроек очень много то эти кнопки.позволят.и этих xml перезагрузите multiman.последствия то есть у вас может быть.несколько профилей для запуска проекта в.этом меню есть языки интерфейса допустим.если я соберу английский то здесь.выведется описание на английском который.вел диалоги сауны шали и есть.продвинутые настройки папка с соками я.вам скажу об этом видео по ресурсы по.теме.теперь внешне ничего не изменилось но в.моем sky те.меня есть возможность использовать.ресурсы и я сразу отредактировать их.действия и заменил его ломал.значение из ресурса помните как мы.вставляли.сообщение из переменной вот точно также.можно оставить сообщение ресурса.пространство вашим которые не сквозь для.каждого входного параметра.каждого действия нужно выбрать второй.вариант взять из файла поля.вот и пропали входа или база.я нажимаю сюда и здесь.телу клуба иисус изменил.несколько ресурсов здесь несколько но.сейчас я создал только один поэтому я.выбираю только из него есть еще два.параметра новом я не буду самостоятельно.них внимание расскажем позже.просто нажимаем ok и стандартное.значение должен хорошо работать я вижу.что практически так же как с переменной.поля добавилось название ресурса.в фигурных скобках все значением твоими.фигурных скобках будут заменены вас на.размещение этого ресурса то и значение.поля которые пользователь ввел в начале.работы скрипта.единственное что нужно исправить это то.что старая почта.она так и осталась если я оставлю это.поле то тут есть the base попробует.ввести.просто 2 почты подряд поэтому старое.значение я удалю и нажмете.и еще раз попробую как скрипту это.ботать до страницу.нужно подправить я редактировал чтобы.показать проработают ошибки.да видите ошибку боится блоку красным.цветом их можно отличить от обычных.сообщений хорошо запускаю скрипт.и увидите что сейчас выводится.вводится почта которую я сдал при.который я задал при старте скрипта и как.оказалось на есть поэтому.скрипт сейчас работать не будут у него.будет работать но выглядит сообщения об.ошибке.ведь такого элемента с ошибка ошибка.сервера его просто не существует.[музыка].подтверждала почта присутствовать это.тоже один из распространенных вопросов.потому что разработчику вы сейчас может.казаться что скрипт завис и что он не.остановится никогда но на самом деле он.будет ждать появление этого элемента на.протяжении 60 секунд то есть 1 минуты и.потом выдаст сообщение что его нету.вас организован так что он никогда ни.при каких обстоятельствах не будем.останавливать сценарий то есть.возможность так некоторое время но.какое-то сообщение он после этого выдаст.и перезапустит поток.но это уже тема из слова многопоточности.я сейчас просто его выполнения и покажу.как.как ресурсы ходит со пользователям в.режиме запуска.я еще раз и попробуем запустить его.режиме запуска.и сейчас ну собственно ресурса вводится.точно также пользователя появляется окно.и здесь можно задать точно.я все-таки постараюсь сделать так чтобы.почте не существовало и скрипт отработал.как следует нажимаю тень.и увидел что вылилось сообщение об.ошибке.как видите если вести правильную почту.то есть ту почту которое существует.то скрип подвесить на определенном.действие на поиски элемента с ошибкой и.я хочу показать как это можно исправить.для этого зайдем снова в панель.редактирования скриптов и мне нужно.выполнить все действия вот эти до вот.этого действия.это можно сделать выполняет действия.одно за другим.нажимаю на вот эту желтую кнопку но.намного проще этого достигнуть вызвав.контекстное меню и нажал выполнить до.этого действия вас будет выполняет.последовательно действие.панелью редактор сценария пока не.встретит задано.хорошо значит еще раз чем проблема и что.мы пытаемся исправить если поезд и.существует то google пересылают нас на.другую страницу котором вот этого.элемента просто не существует вас ждет.600 секунд и выдает ошибку один из.вариантов исправить это это изменить.время ожидания 60 секунд до например 5.чтобы это сделать нужно начать.редактировать действия и а в каждом.действии где есть ожидание элемента.здесь такие такая кнопка с песочными.часами она всегда находится справа от.кнопки обмены и если на нее нажать то.выпадет поле из которого можно в котором.можно задать максимальное время ожидания.этого элемента 0 это по умолчанию 6.секунд я выставлю в 5 нажимаю ok.видите здесь возле песочных часов.появляется цифра это значение в секунду.и я нажимаю ки и теперь скрипт изменился.мы можем это проверить на жаль еще раз.на редактирования и здесь сохранилась.решение которое evil конечно она.сохранится и после перезапуска скриптов.и сейчас мне нужно попробовать это с.другой почты про вас точно которые точно.сыщика существуют но чтобы вести другую.почту вы помните что почта задается.через ресурсы мне нужно перезапустить с.редактором скриптов чтобы у вас у меня.снова спросил о том сколько почты я хочу.работать и я мог изменить его через.диалог ресурсов.перезапустить скрип можно вот этой семье.кнопка я выбираю почту которую точно.существует и нажимаю руки опять же.выполняю до этого действа.виза что страница уже другая элемента я.еду и я нажимаю выполнить это действие.сейчас господа и ждет некоторое время но.уже намного меньше чем раньше и выдаст.ошибку.вот не удалось дождаться элемента и.здесь находится иди ошибки и его.селектор селекторы опять же будут.разбираться в отдельном уроке значит.сейчас наш скрипт будет выдавать ошибку.в том случае если почта есть если почты.нету будет писать сообщения и ошибки это.в принципе нормально то есть такое.бывает вас не останавливается если.какой-то поток выдает выдает ошибку он.просто его запускают с другими данными.ну вы можете представить себе это так.допустим какой-то логины пароли от.какого-то сайта больше не подходят и.допустим элемента.которые действовали касс персональном.кабинете и вопросами существуют браузер.находится на другой странице который.выдает ошибку там блики на пароль.неправильно и скрипт просто оставляют.эти данные вот этот логин пароль который.неправильный он автоматически отправляет.их плохим и говоришь что я затем.работать не буду а вот остальные логин и.пароль и street продолжить работу но в.данном случае выводить сообщение об.ошибке будет не совсем корректно и.совсем корректно по отношению.пользователю.потому что ну если точно существует то.получается он весь какую-то красную.строку с каким-то непонятным селектором.если почта не существует то он видит.просто белым светом сообщение об ошибке.от сервера google.и это не совсем понятно я хочу сделать.так нажимать кнопку next и проверять.если элемент.сообщение об ошибке существует то просто.выводим в лог что.почты не а существуют в противном случае.выводе слог почта уже зарегистрированы и.давайте чтобы это сделать.вернемся в том состоянии когда на.странице все-таки присутствовала.сообщение об ошибке.этого я еще раз при загружу скрипт еще.раз виду почту которые точно не.существует и выполнил все это до.действие получения текста.хорошо знаешь и смотрите как проверить.если элемент на странице этого его нужно.выбрать и в контекстном меню выбрать.пункт правил существованию проверить.существование это в принципе обычное.действие с элементом и у него и она.похожа на остальные действия но у него.есть выходной параметр переменная в.которую сохранить результат и это не.совсем обычная переменная то есть ту.переменную который я показывал раньше у.неё был страховой тип там было там.хранилась почта и просто строка там.что-то собака джим mail.com эта.переменная аналоги имеет только два.значения или да или нет то есть.или виден элемент нареканий или его не.видно и она называется по умолчанию из.экзист.я не буду менять названия просто нажму.ok потому что перемены у нас будет всего.именно совладав скрипте on поэтому я не.запутывать нажимаю руки.добавилось новое действие и выполнялся я.хочу посмотреть в инспекторе переменной.что же записалась переменной язык dance.и как видите здесь значения true и этапа.английский переводится как истина то.есть да то есть до элемент присутствует.на странице если бы его не было то здесь.было бы falls.но про переменное и их типы я расскажу.подробнее в отдельном уроке.сейчас просто запомните что действия при.переменная да и перенёс ещё а можно.оставить ее в действии.их.а действие ив этом такой условный.оператор.то есть в зависимости от заданного.условия в данном случае о наличии или.отсутствии или нет за на странице.которые задается перемены язык this он.будет выполнять либо одни действия либо.другие это как раз то что нам нужно и.этаж о чем я говорил ранее.зависит если элемент на странице есть я.буду выводить влог.почты не существует если элемент на.странице есть то я буду наоборот если.элементы на странице нет то я буду.выводить что он пульса существует и в.противном случае буду водить другой.сообщи нам.но давайте посмотрим как это будет.выглядеть.действие iv находится в модуле логика.скрипта и она там самое первое и вот у.него 1 один входной параметр это их.выражение здесь может быть много разных.вещей я это рассмотрю вроде по условным.оператором.но вот сюда отлично подойдет вставить.переменную лизы xyz которая получена из.действия проверить существование и еще.есть один параметр добавить else-блок.вот его нужно добавляем следственно.захотите задать какие-то.какие-то действия какой-то набор.действие когда переменная нет ни.истинном то есть когда беременная ложь.то есть тогда к нам нужно выводить.значение в лоб и тогда орбитали mens.wedding и тогда когда он не виден то я.выберу 3 и смотрите это действие она не.совсем обычно.она внутри него есть индикаторы вставки.они сдвинуты в траву.это означает что вес у меня буду сейчас.сюда вставляю действия то они будут.выполняться только в том случае если.условия вот это условия переменный.резистор.она будет равна истине эти же действия.они будут выполняться только если это.переменная не равна истине и это как раз.то что нам нужно это идеальный для.варианты который я описал и я просто.добавлю и туда и туда волк значит.следствие сообщения есть то я увожу.почта не зарегестрированы.и выведу минет чтобы было наглядно.нельзя просто чтобы лепить 1 2 1.скопирую и вставлю действия сюда и.отредактирую его поставлю плюс почты.зарегистрирован.и вот эти два старые действия.а ими уже не нужны яку галя.хорошо давайте посмотрим ещё раз как.работает наш скрипт я перемещаю точку.выполнения и запускаю его снова.отлично увидите что отработала действия.почте не зарегистрировано даже.подсветилось желтым потому что.действовать и на выполняться они.посвящаются желтым цветом и давайте.теперь попробуем еще почту которую.зарегистрировано.делаю тоже самое и запускаю скрипт.вот почты зарегистрировано фактически у.нас есть checker почты checker 1 правда.почты но его очень легко.усовершенствовать и сделать так чтобы он.работал с файлами из потоками.я не буду это делать в этом туториале но.это сделать действительно очень просто.достаточно выставить всего несколько.параметров теперь когда у нас есть более.менее рабочий проект я хотел бы им.поделиться.и это можно сделать несколькими.способами первое это посредством.передачи файла проекта файл проекта это.тот файл который xml формате содержит.всю информацию о переменах в действиях и.так далее если запустить его на другом.компьютере в другой версии баста человек.увидит точно то же самое что вы видите.сейчас ее создать файл проекта очень.легко просто нажмите на проект заклинить.и выберите папку и файл куда нужно.сохранять это делается точно также как и.в любой другой программе в каком-то.текстовом редакторе в блокноте.и так далее это очень легко делать но.тут есть одно неудобство то что человеку.которому вы двигаете скрипт он может не.знать что такое bass ему нужно первое.это скачать бас второе это открыть.проект.вас запустить.объяснять разницу между записью лизал.tuscan он может запутаться и как я уже.говорил это не очень удобно вот чтобы.решить эту проблему 2.создать автономными автономное.приложение это приложение которое не.требует банк для запуска.процесс создания автономного приложения.он называется компиляция и для этого для.того чтобы скомпилировать скрипт.служит кнопка скомпилировать единственно.что сейчас она не активна и она будет.активна только тогда когда будет.остановлен редактор скриптов я могу это.сделать кнопкой остановить и сейчас я.покажу как работает компиляция нажимаем.скомпилировать и власть такое окно с.несколькими параметрами.первый параметр это тип компиляция вот.первый вариант это без защиты.это подойдет в том случае если вы.согласны с тем что человек может увидеть.ваш проект человек может ваш проект.выложить где-то в сети то есть и может.пользоваться не только тот не посты.тот непосредственно человек которому вы.передали скриптов то есть грубо говоря у.него может спиратить.просто расширить сеть и если вам не.подходят варианты есть другие два.это компиляция с защитой она позволяет.защитить скрипт паролем и добавлять.пользователей через веб-интерфейс менять.их обновлять у них версии и так далее но.это опция работает только для примера.подписчиков если вы не привел подписчик.то вы можете скомбинировать но сделать.это без учета по опции которые.необходимо заполнить это название.скрипта и версия ну здесь может быть.любая строка я назвал.street просто джимайл.chicco джимайл версия.это если вы будете зарабатывать сквозь.нет то потом вы можете увещевателем.поставил там новые цифры так далее я.нажимаю ok и у меня появляются папкам.это папка с 1 исполняемого файла.вот этот скрипт экзо и она уже абсолютно.никак не зависит от вас то есть вы.можете взять и сделать из нее архив и.передать по почте допустим или каким-то.другим способом и что произойдет после.человек после того как человек запустить.исполнена.я хочу показать их при 1.при первом запуске он увидит окно а сам.прогресс баром который отображает.прогресс при скачивании нужно войну.нужно ему среды для запуска скриптов но.это будет происходить только в первый.раз это нужно в частности потому что вы.можете собрать скрип на машине 1.архитектуры то есть на x64.а человек запустит у себя на 32-битной.системе и вот когда он запускает это.приложение то но качают среду именно для.его архитектуры эпохи.запустил приложение waze такое окно.предлагающее выбрать язык я выберу.русски и как видите первым вторым окном.является то окно которое выглядит при.запуске записи а то выбор ресурсов то.есть.на этом этапе запуска пользователь имеет.возможность выбрать задаюсь входные.параметры и я сейчас напишу задам такую.то почту нажимаю ok и появляется вот.такой вот интерфейс он несколько проще.чем полный интерфейс balls но и здесь.есть все нужно чтобы чтобы понять как.выполняются в частности здесь и складка.влог которую пишется точно то что вы.задали здесь истечет и.и кнопка перезапуска остановки.dist возможность посмотреть что.происходит браузер вот я сейчас открою и.мы видим что скрипт работает как нужно.если почта не зарегестрированы то он.таки пишет об этом.на этом первый урок закрашивается он был.похож на обзор возможностей вас.рассмотреть их более детально вы сможете.ли вы в следующих уроках

BrowserAutomationStudio. Урок #1. Введение. Автономный чеккер gmail.

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