Что такое Webbot?
Webbot – это библиотека веб -автоматизации в Python. Чтобы быть более описательным, это библиотека, используемая для автоматизации веб -браузеров, и, в некоторой степени, может использоваться для автоматизации пользовательского интерфейса и конечного тестирования. Но почему вы должны использовать это, когда ясно, что есть и другие альтернативы 😄
Почему вы можете использовать Webbot?
Вот некоторые из функций, которые я перечислил на своей странице GitHub, которые я прямо цитирую здесь:
- Используйте любую комбинацию селекторов, таких как идентификатор, имя, текст, CSS и т. Д., Чтобы выполнить действия по элементам с одной строкой кода.
- Автоматизируйте и тестируют страницы, загруженные динамически с помощью JavaScript.
- Нажмите на любую кнопку или ссылку, не беспокоясь о том, чтобы сначала найти элемент или знание селекторов CSS, XPath и т. Д.
- Smart Algorithm, который находит лучшие соответствующие элементы, на которых вы хотите выполнить действие.
- Автоматизация, предназначенная для работы даже в случае веб -страниц с динамически изменяющимся идентификатором и именем класса
- Чрезвычайно минимизирует код, необходимый для выполнения действий ввода, таких как клики и действия клавиатуры.
- Получить источник веб -страницы, файлы cookie, общее количество вкладок, заголовок веб -страницы и т. Д.
- Смоделировать нажатия клавиш и специальные комбинации клавиш
- Двунаправленная прокрутка
- Выполните действие на элементах веб -страницы, применяя различные фильтры для выбора элементов.
- Выполните действие по нескольким элементам одновременно.
- Если в определенных элементах нет текста или видимого свойства, то используйте их идентификатор, класс, CSS_SELECTOR, XPATH, TAG и т. Д.
- Весь процесс автоматизации может быть сделан без необходимости открывать окно браузера, то есть в фоновом режиме в качестве консольного процесса (см. Документы для более подробной информации)
Ссылка на код
nateshmbhat/webbot
Библиотека веб -автоматизации для простых и легких тестирования конечного или автоматизации веб -браузеров, которая предлагает сверхряженные функции, сохраняя при этом простые в использовании и мастер.
🤖 Crazy Smart Smart Web Automation и библиотека тестирования для Python
Webbot обеспечивает большую функциональную автоматизацию, чем Selenium для всех видов автоматизации веб -страницы. Поскольку основная часть веб -автоматизации состоит в том, чтобы выполнять действия, такие как щелчок и введите элементы веб -страницы, Webbot автоматически обрабатывает поиск правильных элементов для выполнения действий.
Купить мне кофе 😇
Функции:
- Нажмите на любую кнопку или ссылку, не беспокоясь о том, чтобы сначала найти элемент или знание селекторов CSS, XPath и т. Д.
- Автоматизируйте и тестируют страницы, загруженные динамически с помощью JavaScript.
- Smart Algorithm, который находит лучшие соответствующие элементы, на которых вы хотите выполнить действие.
- Весь процесс автоматизации может быть сделан без необходимости открывать окно браузера, то есть в фоновом режиме в качестве консольного процесса (см. Документы для более подробной информации)
- Используйте любую комбинацию селекторов, таких как идентификатор, имя, текст, CSS и т. Д., Чтобы выполнить…
Вот пример фрагмента кода Webbot в соответствии с действием 🥳
Приведенный ниже код сначала перейдет на Google.com и найдет поиск песни “Hello It Me”, а затем вернется в Google и войдет в систему с предоставленной электронной почтой и паролем.
from webbot import Browser web = Browser() web.go_to('google.com') web.type('hello its me') # or web.press(web.Key.SHIFT + 'hello its me') web.press(web.Key.ENTER) web.go_back() web.click('Sign in') web.type('mymail@gmail.com' , into='Email') web.click('NEXT' , tag='span') web.type('mypassword' , into='Password' , id='passwordFieldId') web.click('NEXT' , tag='span')
Если вы хотите использовать какой -то более низкий уровень “find_element_by …” Сами функционирует, вы все еще покрыты 😁. Просто получите базовый объект Driver Selenium, как это: web.driver
Почему и как я это сделал?
Ну, честно говоря, это было в основном о написании слишком большого количества кода при использовании селена для веб -автоматизации.
Я использовал селен для некоторых из моих проектов, и мне казалось, что я пишу слишком много кода, чем необходимо. Я понял, что причина этого произошла не из -за какой -либо неэффективности или плохого API селена Но это было только из -за того, как было смоделировано взаимодействие с Интернетом.
Какая ? Что я имею в виду под этим?
- Код веб -автоматизации сначала требует, чтобы элемент был впервые найден, прежде чем мы выполним какое -либо действие.
- Это означает, что мы в конечном итоге пишем слишком много “find_element_by _…” Код, а не сосредотачиваемся на том, чтобы просто делать то, что мы хотели: то есть просто нажмите на эту чертову кнопку, которая просто сказала «Нажмите меня».
- Итак, в основном мы сначала находим элемент, который мы искали, а затем выполняем действие. Действие может быть щелчком или клавиатурой, прокрутка и т. Д.
- Но то, что мы, разработчики, – это просто выполнить действие на каком -то элементе, а не беспокоиться о том, чтобы найти все это сами.
- В ореховой оболочке мы хотим, чтобы подход, ориентированный на действия, а не элемент, ориентированный на элемент.
С Webbot это подход, который я использую. Подход, ориентированный на действия, а не обычный подход, ориентированный на элемент. Вы говорите Webbot, какое действие вы хотите делать, а не пытаетесь беспокоиться обо всех этих селекторах CSS, XPath и т. Д. В зависимости от типа действий, который вы выполняете, будь то щелчок, тип, Keypress и т. Д., У него есть алгоритм оценки, который найдет соответствующие элементы на основе действия.
Так, например, если вы пытаетесь запустить web.click ('Войдите')
Затем он дает оценку всем элементам, содержащим текст «Вход», и кликабельные элементы (кнопки, якорные теги, элементы с Onpress).
Дополнительные мысли/чувства/истории
Я сделал этот проект в течение моих студенческих дней. Это мой выпускной год. Грузы и множество воспоминаний, чтобы дорожить. Теперь, когда я оглядываюсь назад, я понимаю, что это были лучшие дни в моей жизни. Это были дни, когда я жил больше, чем когда -либо! Будет скучать по всему этому, черт возьми. В любом случае, я пишу эту статью, потому что я получил электронное письмо от Github о церемонии «выпускной» для выпускников 2020 года. Я более чем рад принять участие в этом:)
Спасибо ребята:)
Вы можете проверить мой другой пост на Dev, который я написал ранее здесь, где я говорю об использовании Electron с помощью React и Support Support:
Терминал Tweaker: проект электронного реакта для настройки нового терминала Windows до контента сердца ❤.
Вы можете проверить меня на: GitHub: https://github.com/nateshmbhat LinkedIn: https://www.linkedin.com/in/nateshmbhat Instagram: https://www.instagram.com/nateshmbhat Facebook: https://www.facebook.com/profile.php ? … Twitter: https://twitter.com/nateshmbhat
Спасибо за чтение до этой последней строки 😍 !!! Ты потрясающий 😎!
Оригинал: “https://dev.to/nateshmbhat/automate-your-web-pages-with-webbot-without-much-code-6ih”